sql-server – 在这种特定环境下,为什么行使表变量的速率是#temp
发布时间:2020-12-24 20:39:13 所属栏目:编程 来源:网络整理
导读:我在看这篇文章 Temporary Tables vs. Table Variables and Their Effect on SQL Server Performance和SQL Server 2008可以或许再现与2005年哪里表现的功效相同的功效. 当执行只有10行的存储进程(下面的界说)时,表变量版本out执行姑且表版本的次数高出两次. 我清
在轮回中运行这两个进程,Visual Studio代码说明器表现以下内容 +-------------------------------+--------------------+-------+-----------+ | Function | Explanation | Temp | Table Var | +-------------------------------+--------------------+-------+-----------+ | CXStmtDML::XretExecute | Insert ... Select | 16.93 | 37.31 | | CXStmtQuery::ErsqExecuteQuery | Select Max | 8.77 | 23.19 | +-------------------------------+--------------------+-------+-----------+ | Total | | 25.7 | 60.5 | +-------------------------------+--------------------+-------+-----------+ 表变量版本耗费约莫60%的时刻执行insert语句和后续select,而姑且表不到一半.这与OP中表现的时序同等,而且上面的结论表白,机能差别是执行帮助事变所耗费的时刻,而不是因为在查询执行自己耗费的时刻. 在姑且表版本中导致“缺失”75%的最重要成果是 +------------------------------------+-------------------+ | Function | Inclusive Samples | +------------------------------------+-------------------+ | CXStmtCreateTableDDL::XretExecute | 26.26% | | CXStmtDDL::FinishNormalImp | 4.17% | | TmpObject::Release | 27.77% | +------------------------------------+-------------------+ | Total | 58.20% | +------------------------------------+-------------------+ 在create和release函数下,函数CMEDProxyObject :: SetName的包括样本值为19.6%.从中可以揣度,姑且表案例中有39.2%的时刻用于前面描写的重定名. 表变量版本中最大的一个对其他40%有孝顺 +-----------------------------------+-------------------+ | Function | Inclusive Samples | +-----------------------------------+-------------------+ | CTableCreate::LCreate | 7.41% | | TmpObject::Release | 12.87% | +-----------------------------------+-------------------+ | Total | 20.28% | +-----------------------------------+-------------------+ 姑且表格简介 表变量设置文件 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐
热点阅读