使用视图时表索引如何发挥作用?

时间:2009-12-17 18:52:07

标签: sql-server database indexing

我有一个从多个表中收集数据的视图。虽然视图本身没有索引,但使用视图的任何内容似乎都会从具有索引的基础表中受益。这些是自动使用的吗?如果是,那么在您的视图上创建索引的重点是什么?任何关于这个主题的推荐文章都会受到欢迎。

2 个答案:

答案 0 :(得分:9)

是的,自动使用基础表索引 - 视图只是从基础表中提取数据。

关于在视图上创建索引的好处,请参阅this MS Technet article。小摘录:

  

使用索引改进查询   表现不是一个新概念;   但是,索引视图提供   额外的性能优势   使用标准无法实现   索引。索引视图可以增加   查询性能如下   方法:

     
      
  • 聚合可以预先计算并存储在索引中以最小化   在查询执行期间进行昂贵的计算。
  •   
  • 可以预先连接表格并存储结果数据集。
  •   
  • 可以存储联接或聚合的组合。
  •   

答案 1 :(得分:2)

查询优化器重写查询并“展平”子查询的使用(视图确实是这样)。因此将使用基础索引。