![SQL Server 2008 的所有版本中都有过滤索引吗?](https://linux22.com/image/542331/SQL%20Server%202008%20%E7%9A%84%E6%89%80%E6%9C%89%E7%89%88%E6%9C%AC%E4%B8%AD%E9%83%BD%E6%9C%89%E8%BF%87%E6%BB%A4%E7%B4%A2%E5%BC%95%E5%90%97%EF%BC%9F.png)
我无法在任何地方找到确认 SQL Server 2008 除开发版和企业版之外的版本中存在过滤索引的证据。
(对于 SQL Server 2008 r2,答案是否相同)
答案1
我倾向于相信它们在所有版本中都受支持。CREATE INDEX 的联机丛书文章特别提到,只有 Enterprise 和 Developer 支持在线和并行索引操作,但没有提到筛选索引的版本限制。
答案2
SQL 2008 R2 Std 支持过滤索引。我刚刚创建了一个。我手边没有普通的 SQL 2008 实例,但它们是在 2008 年引入的,所以我倾向于认为它们也在那里。
答案3
不同版本之间的功能有所不同,而不是实际的 SQL。
所以CREATE INDEX ... WHERE...
必须是所有版本均受支持。
CREATE VIEW
所有版本(和)都支持索引视图CREATE INDEX ... ON MyView..
。只是优化器使用它们的方式不同,与 DDL 无关。
引擎忽略索引视图和忽略索引中的 WHERE 子句有很大区别:这是一个巨大的差异。