【问题标题】:Difference Between Views and Tables in Performance视图和表在性能上的区别
【发布时间】:2025-12-20 00:40:06
【问题描述】:

什么最适合包含大量数据的表?

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

谈论性能什么更好?

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

【问题讨论】:

    标签: performance sql-server-2005 views


    【解决方案1】:

    当您使用select count(*) from view 时,它会比表慢得多。因为表格的标题包含行号,所以视图没有这样的信息。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

        视情况而定。

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

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

        @Otávio Décio 击败了我,他提到拥有“正确”的索引将对性能产生更大的影响。

        【讨论】: