[S]SQL SERVER数据库维护与重建索引
第一步:查看是否需要维护,查看扫描密度/Scan Density是否为100%
- declare @table_id int
- set @table_id=object_id(‘表名‘)
- dbcc showcontig(@table_id)
第二步:重构SQL Server数据库表索引
- dbcc dbreindex(‘表名‘,pk_索引名,100)
重做第一步,如发现扫描密度/Scan Density还是小于100%则重构表的所有索引,并不一定能达100%。
- dbcc dbreindex(‘表名‘,‘‘,100)
重建数据库所有表的索引
USE My_Database; DECLARE @name varchar(100)
DECLARE authors_cursor CURSOR FOR Select [name] from sysobjects where xtype=‘u‘ order by id
OPEN authors_cursor
FETCH NEXT FROM authors_cursor INTO @name
WHILE @@FETCH_STATUS = 0 BEGIN
DBCC DBREINDEX (@name, ‘‘, 90)
FETCH NEXT FROM authors_cursor INTO @name END
deallocate authors_cursor
参考:
DBCC SHOWCONTIG (Transact-SQL) http://msdn.microsoft.com/zh-cn/library/ms175008(v=sql.90).aspx
DBCC DBREINDEX (Transact-SQL) http://msdn.microsoft.com/zh-cn/library/ms181671(v=sql.90).aspx
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。