加入收藏 | 设为首页 | 会员中心 | 我要投稿 淮安站长网 (https://www.0517zz.com.cn/)- 数据开发、人脸识别、智能机器人、图像处理、语音技术!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

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

发布时间:2020-12-24 14:37:19 所属栏目:MsSql教程 来源:网络整理
导读:我在看这篇文章 Temporary Tables vs. Table Variables and Their Effect on SQL Server Performance和SQL Server 2008能够再现与2005年那里显示的结果类似的结果. 当执行只有10行的存储过程(下面的定义)时,表变量版本out执行临时表版本的次数超过两次. 我清

似乎对于#temp表版本,当存储过程结束由FCheckAndCleanupCachedTempTable事务执行的清理的一部分时,将临时表从#T __________________________________________________________________________________________________________________ 00000000E316重命名为不同的内部名称,例如#2F4A0079,并在输入时CREATE TABLE事务将其重命名.这个翻转名称可以通过一个连接在循环中执行dbo.T2而在另一个连接中看到

WHILE 1=1
SELECT name,object_id,create_date,modify_date
FROM tempdb.sys.objects 
WHERE name LIKE '#%'

示例结果

因此,Alex所提到的观察到的性能差异的一个可能的解释是,这是维护tempdb中负责的系统表的额外工作.

(编辑:淮安站长网)

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

热点阅读