加入收藏 | 设为首页 | 会员中心 | 我要投稿 青岛站长网 (https://www.0532zz.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql-server – 在这种特定情况下,为什么使用表变量的速度是#temp

发布时间:2020-12-24 22:16:30 所属栏目:MsSql教程 来源:网络整理
导读:我在看这篇文章 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%            |
+-----------------------------------+-------------------+

临时表格简介

表变量配置文件

(编辑:青岛站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读