gbn*_*gbn 10
#tmp是一个临时表,主要表现为一个真正的表.它可以有索引,可以有统计信息,参与事务,优化器会计算出正确的行估计值
@tmp是一个表变量.没有索引,没有统计信息,没有事务感知,优化器总是假定只有1行
否则,它们都是作用域(略有不同),在内存/缓存中,但上下文是tempdb,如果太大等将溢出到磁盘
编辑:
关于表变量的键.他们没有任何区别.没有统计数据,假设有一行.它会将表扫描更改为聚集索引扫描,这是相同的.检查任何查询计划和估计的行.
另外,请阅读本文读取临时表与表变量的区别
我做的第一件事是在@ComputersToProcess表变量上放置一个主键.这将表扫描转换为聚集索引扫描,但没有为性能做任何事情.
请参阅http://support.microsoft.com/kb/305977:
与临时表相比,表变量具有以下优点:
与临时表相比,这些是一些缺点:
表变量是仅内存结构,与临时表或永久表相比,可以确保更好的性能,因为它们是在驻留在物理磁盘上的数据库中维护的吗?
有关实际性能比较,另请参阅:
| 归档时间: |
|
| 查看次数: |
6542 次 |
| 最近记录: |