top

SQLSERVER中临时表和表变量的最大区别

SQLSERVER中临时表和表变量的最大区别

不知道大家有没有注意到,SQLSERVER里有两种对象可以暂时存放表结构的数据

一种就是大家很熟悉的  临时表(temp table)


另一种是名气小一点,是  表变量(table variable)

 

这两种对象功能类似,差异不太明显。

功能上比较大的差别是:表变量可以作为存储过程的返回参数,而临时表不行

那是不是用表变量就可以了,为什麽SQLSERVER还要保留临时表这个功能呢?其实这两个对象在内部实现上还是有很大区别的。

 

最显著的区别:SQLSERVER会像对普通表一样,在临时表上维护统计信息,用户也可以在上面建立索引。

而表变量上,既不能建立索引,也不会有统计信息。

SQLSERVER在做执行计划的时候,总是认为表变量里的数据量只有很少的几行

 

posted @   桦仔  阅读(789)  评论(2编辑  收藏  举报
编辑推荐:
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
点击右上角即可分享
微信分享提示