INDEX重建索引
。 DBCC INDEXDEFRAG 命令是联机操作
,所以索引只有在该命令正在运行时才可用
。而且可以在不丢失已完成工作的情况下中断该操作。这种方法的缺点是在重新组织数据方面没有聚集索引的除去/重新创建操作有效。
重新创建聚集索引将对数据进行重新组织
,其结果是使数据页填满。填满程度可以使用 FILLFACTOR 选项进行配置。这种方法的缺点是索引在除去/重新创建周期内为脱机状态,并且操作属原子级。如果中断索引创建,则不会重新创建该索引。
我们来看看索引重建使用的方法:
语法 DBCC DBREINDEX ( [ ‘TableName’ [ , index_name [ , fillfactor ] ] ] )
参数 ‘TableName’
是要重建其指定的索引的表名。数据库、所有者和表名必须符合标识符的规则。有关更多信息,请参见使用标识符。如果提供 database 或 owner 部分,则必须使用单引号 (‘)
将整个 database.owner.table_name 括起来。如果只指定 table_name,则不需要单引号。
index_name 是要重建的索引名。索引名必须符合标识符的规则。如果未指定 index_name 或指定为 ‘ ‘,就要对表的所有索引进行重建。
fillfactor 是创建索引时每个索引页上要用于存储数据的
空间百分比。fillfactor
替换起始填充因子以作为索引或任何其它重建的非聚集索引(因为已重建聚集索引)的新默
认值。如果 fillfactor 为 0,DBCC DBREINDEX 在创建索引时将使用指定的起始fillfactor。
我们在查询分析器中输入如下的命令:
DBCC DBREINDEX (‘MyTable,’’,80)
这样就会索引重建了。