Gui*_*rez 7 sql-server join temp-tables table-variable
为什么临时表比SQL Server中的连接的表变量更快?
注意:在两种情况下,表都有PK,表通过PK与其他"物理"表连接.
Ada*_*nes 10
两者都存在于Tempdb中; 但是,性能问题会起作用,因为优化器不会维护表变量的统计信息.这是有问题的,因为优化器总是假设表变量中有1行.显然,这可能会破坏查询计划,尤其是当表变量中有很多行时.我不会使用表变量来存储超过1000行的任何内容; 否则,表现可能无法预测.
临时表与表类似,但创建时存储在 tempdb 中,这意味着优化器可以对其进行统计,而表变量与变量类似,没有统计信息。通常在比较 tmp 表和表变量时,临时表名列前茅。原因是查询优化器有时会为表变量生成糟糕的计划。当数据量很大时,这通常可以看到。我能说的最重要的一点是,与为临时表生成的计划相比,表变量更有可能导致不可预测的执行计划。另一方面,临时表会导致更多的重新编译。
| 归档时间: |
|
| 查看次数: |
9831 次 |
| 最近记录: |