如何创建索引视图?

0 sql-server-2008-r2

我有一个视图,它正在对几列进行求和:

Select cola, colb, cola + colb + colc from table tbl_a
Run Code Online (Sandbox Code Playgroud)

我可以知道应该为视图创建哪些索引以提高其性能吗?

gbn*_*gbn 5

一些想法...

  • 您将在视图中使用哪些过滤器或连接?这些决定了您需要在上使用哪些索引
  • 您是否考虑过在表级别对 cola+colb 进行计算的列

就我个人而言,我避免使用视图,因为视图没有持久性(除非它本身被索引):它只是一个由查询优化器扩展的宏。也就是说,假设您有 2 个连接视图(一个有 3 个表,一个有 4 个表):实际的查询计划将显示所有 7 个表。

在上述情况下,您没有过滤器。这意味着没有索引可以帮助您:您将获得聚集索引(实际上是表,您确实有聚集索引,对吗?)扫描