使用Table变量比临时表更快

Nei*_*ght 5 temp-tables table-variable sql-server-2008-r2

我可以安全地假设我使用tempdb写入临时表的存储过程,我最好将它们切换到表变量以获得更好的性能吗?

dkn*_*ack 2

临时表的性能更好。如果您使用表变量并且变量中的数据变得太大,SQL Server 会自动将变量转换为临时表。

就像几乎所有与数据库相关的问题一样,这取决于您尝试做什么。因此,如果没有更多信息,很难回答。

所以我的答案是,尝试一下,看看执行计划。使用最快的方式和最低的成本。

  • “如果您使用表变量并且变量中的数据变得太大,SQL Server 会自动将变量转换为临时表。” 这种说法完全错误。 (4认同)