为什么在 SQL Server 中临时表比表变量更快?

注意:在这两种情况下,表都有 PK,并且这些表通过 PK 与其他“物理”表连接。

最佳答案

两者都保存在 Tempdb 中;然而,由于优化器不维护表变量的统计信息,性能问题开始发挥作用。这是有问题的,因为优化器总是假定表变量中有1行。显然,这真的会搞砸查询计划,尤其是当您的表变量中有很多行时。我不会使用表变量来存储超过 1000 行左右的任何内容;否则,性能可能无法预测。

关于sql-server - 为什么临时表比连接的表变量更快?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17620546/

10-12 03:16