[S]SQL SERVER數據庫維護與重建索引


第一步:查看是否需要維護,查看掃描密度/Scan Density是否為100%

  1. declare @table_id int
  2. set @table_id=object_id('表名')
  3. dbcc showcontig(@table_id)

第二步:重構SQL Server數據庫表索引

  1. dbcc dbreindex('表名',pk_索引名,100)

重做第一步,如發現掃描密度/Scan Density還是小於100%則重構表的所有索引,並不一定能達100%。

  1. 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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM