SQL Server里面什么样的视图才能创建索引

2025-04-04 12:57:03
推荐回答(2个)
回答1:

在为视图创建索引前,视图本身必须满足以下条件: 1、视图以及视图中引用的所有表都必须在同一数据库中,并具有同一个所有者。 2、索引视图无需包含要供优化器使用的查询中引用的所有表。 3、必须先为视图创建唯一群集索引,然后才可以创建其它索引。 4、创建基表、视图和索引以及修改基表和视图中的数据时,必须正确设置某些 SET 选项(在本文档的后文中讨论)。另外,如果这些 SET 选项正确,查询优化器将不考虑索引视图。 5、视图必须使用架构绑定创建,视图中引用的任何用户定义的函数必须使用 SCHEMABINDING 选项创建。 6、另外,还要求有一定的磁盘空间来存放由索引视图定义的数据。

回答2:

视图可以关联多张表,可以有计算列,可以有过虑条件。在表上像SQLSERVER就没法创建函数索引,索引也没法加条件,没法包含多张表的列