SQL Server 中的视图与临时表或临时变量

Abh*_*hi9 5 database sql-server performance database-design relational-database

我想了解在 SQL Server 存储过程中使用视图而不是临时表的性能优点/缺点。

我知道两者之间的区别(例如临时表可以提供过时的数据等),但我无法在任何地方从性能角度找到任何信息。

HLG*_*GEM 5

Views除非您有Enterprise edition并且您的视图可以遵循indexed view. 调用其他视图的视图可能会导致严重的性能问题。Temp tables确实有过时的数据,但是对于一个过程中具有多个操作的事务来说,这通常是一件好事,因为所有操作都针对同一组数据进行操作。这会减少数据完整性问题。通常比较小的数据集Table varaibles更快,但对于较大的数据集往往表现更好,特别是因为它们可以建立索引。与所有性能调整一样,根据您的特定硬件和数据库设计,存在差异,因此如果您担心性能(您应该如此),那么您需要测试各种选项以查看 hwat 最适合您的特定实例。temp tablestemp tables