我可以使用哪些类型的聚合来创建索引视图

时间:2015-08-24 16:06:52

标签: sql aggregate-functions indexed-view

我一直试图找出可用于创建索引视图的聚合类型。仅供参考:我能用SUM()创建一个。我还发现,我无法使用MINMAXAVG创建索引视图。别人怎么样?有可能的?我无法在网络上找到任何信息也无法使其在我的补偿中发挥作用。

2 个答案:

答案 0 :(得分:1)

根据TechNet,索引视图支持标量聚合。至于为什么不支持Min / Max,请参阅this answer

答案 1 :(得分:1)

sqlmag.com说:

进行索引排序,分组和聚合列

您还需要考虑索引用于排序的列以及在分组表达式中使用的列。您可以通过索引MIN()MAX()COUNT()SUM()AVG()函数用于聚合数据的列来获益。使用MIN()MAX()函数时,SQL Server分别对列中的最小值和最大值进行简单查找。如果索引的数据值按升序排列,SQL Server可以读取索引以快速确定MIN()MAX()的正确值。值范围查询包含过滤器或约束(在SELECT查询的WHERE子句或HAVING子句中表示)以限制查询返回的行。同样,当您有索引时,可以优化数据排序(使用ORDER BY子句)和数据分组(使用GROUP BY子句),尤其是在您查询的一个或多个表包含的情况下很多行。