设置索引选项
本主题介绍如何使用 SQL Server Management Studio 或 Transact-SQL 修改 SQL Server 2014 中的索引的属性。
本主题内容
开始之前:
修改索引的属性,使用:
开始之前
限制和局限
使用 ALTER INDEX 语句中的 SET 子句,将以下选项立即应用到索引:ALLOW_PAGE_LOCKS、ALLOW_ROW_LOCKS、IGNORE_DUP_KEY 和 STATISTICS_NORECOMPUTE。
使用 ALTER INDEX REBUILD 或 CREATE INDEX WITH DROP_EXISTING 重新生成索引时,可以设置以下选项:PAD_INDEX、FILLFACTOR、SORT_IN_TEMPDB、IGNORE_DUP_KEY、STATISTICS_NORECOMPUTE、ONLINE、ALLOW_ROW_LOCKS、ALLOW_PAGE_LOCKS、MAXDOP 和 DROP_EXISTING(仅 CREATE INDEX)。
安全性
权限
要求对表或视图具有 ALTER 权限。
使用 SQL Server Management Studio
在表设计器中修改索引的属性
在对象资源管理器中,单击加号以便展开包含您要修改索引属性的表的数据库。
单击加号以便展开 “表” 文件夹。
右键单击你要修改索引属性的表,然后选择“设计”。
在“表设计器”菜单上,单击“索引/键”。
选择要修改的索引。 其属性将显示在主网格中。
更改任意属性的设置以自定义索引。
单击“关闭” 。
在“文件”菜单上,选择“保存”以保存 table_name。
在对象资源管理器中修改索引的属性
在对象资源管理器中,单击加号以便展开包含您要修改索引属性的表的数据库。
单击加号以便展开 “表” 文件夹。
单击加号以展开您要修改索引属性的表。
单击加号以便展开 “索引” 文件夹。
右键单击要修改其属性的索引,然后选择“属性”。
在 “选择页”下,选择 “选项”。
更改任意属性的设置以自定义索引。
若要添加、删除或更改索引列的位置,请从“索引属性 - index_name”对话框中选择“常规”页。 有关详细信息,请参阅 Index Properties F1 Help
“使用 Transact-SQL”
查看表中所有索引的属性
在 “对象资源管理器” 中,连接到 数据库引擎的实例。
在标准菜单栏上,单击 “新建查询” 。
将以下示例复制并粘贴到查询窗口中,然后单击“执行” 。
USE AdventureWorks2012; GO SELECT i.name AS index_name, i.type_desc, i.is_unique, ds.type_desc AS filegroup_or_partition_scheme, ds.name AS filegroup_or_partition_scheme_name, i.ignore_dup_key, i.is_primary_key, i.is_unique_constraint, i.fill_factor, i.is_padded, i.is_disabled, i.allow_row_locks, i.allow_page_locks, i.has_filter, i.filter_definition FROM sys.indexes AS i INNER JOIN sys.data_spaces AS ds ON i.data_space_id = ds.data_space_id WHERE is_hypothetical = 0 AND i.index_id <> 0 AND i.object_id = OBJECT_ID('HumanResources.Employee'); GO
设置索引的属性
在 “对象资源管理器” 中,连接到 数据库引擎的实例。
在标准菜单栏上,单击 “新建查询” 。
将以下示例复制并粘贴到查询窗口中,然后单击 “执行”。
USE AdventureWorks2012; GO ALTER INDEX AK_SalesOrderHeader_SalesOrderNumber ON Sales.SalesOrderHeader SET ( STATISTICS_NORECOMPUTE = ON, IGNORE_DUP_KEY = ON, ALLOW_PAGE_LOCKS = ON ) ; GO
USE AdventureWorks2012; GO ALTER INDEX ALL ON Production.Product REBUILD WITH (FILLFACTOR = 80, SORT_IN_TEMPDB = ON, STATISTICS_NORECOMPUTE = ON); GO
有关详细信息,请参阅 ALTER INDEX (Transact-SQL)。