性能视图和表之间的差异

时间:2011-01-02 00:57:27

标签: performance sql-server-2005 views

对于包含大量数据的表格,什么是最好的?

我有一个基于某些过滤器创建报告的存储过程。在我的SP中,我阅读了表格,然后将所有内部联接和公式放在我放置过滤器的where条件中。

谈论表现什么更好?

创建一个包含所有连接的视图或读取表格(正如我所做的那样)?

3 个答案:

答案 0 :(得分:16)

与使用视图或直接表访问相比,性能更多地依赖于拥有适当的索引,而(物化视图除外)的行为方式完全相同。

答案 1 :(得分:5)

取决于。

只要View不包含聚合(或需要预先实现物化的构造),它就会完全相同(并且在很多情况下可以通过优化器短路的标准)

您是否在特定情况下尝试过基准测试?

@OtávioDécio通过提及“正确”索引会对性能产生更大影响来打败我。

答案 2 :(得分:0)

使用select count(*) from view会大大慢于表格。由于表的标题包含行号,因此视图没有此类信息。