3

我想了解在SQL Server存储过程使用的地方临时表视图性能优点/缺点。查看Vs的临时表或临时变量在SQL服务器

我知道两者之间的差异(如临时表可以给陈旧的数据,等等),但我能[不]找到性能的角度来看任何地方的任何信息。除非你有企业版

+0

为什么不对其进行测试,看看?没有人能准确地告诉你在你的情况下的表现。构建对象,加载代表性数据,用仪器模拟查询模式。瞧! – 2011-03-29 15:37:28

回答

3

意见不会给更高的性能和您的视图可以按照规则的索引视图。调用其他视图的视图会导致严重的性能问题。临时表的确有过时的数据,但是对于proc中有多个操作的事务来说,这是一件好事,因为所有操作都是针对同一组数据操作的。这导致更少的数据完整性问题。在较小的数据集中,表变量比临时表要快,但临时表往往对较大的集更好,尤其是因为它们可以被索引。如同所有的性能调整时,根据您具体的硬件和数据库设计上的差异,因此,如果您关心性能(你应该),那么你需要测试的各种选项,看HWAT最适合您的特定实例。

+0

感谢您的回复,但是您能否详细阐述“视图不会提供改进的性能,除非您拥有企业版,并且您的视图可以遵循索引视图的规则” – Abhi9 2011-03-29 13:59:07

+0

您可以使用'noexpand'提示,以便使用索引视图其他版本。我确实在SO上看到一个问题,表明SQL Server 2008 R2已不再是这种情况,但我自己也不确定。 – 2011-03-29 14:05:19

+0

@ Abhi9,您需要阅读联机丛书中有关索引的视图,对于视图是否可以编制索引,存在一组冗长而复杂的规则。 – HLGEM 2011-03-29 14:20:17