码迷,mamicode.com
首页 > 数据库 > 详细

SQL SERVER数据库维护与重建索引

时间:2017-11-24 21:39:27      阅读:227      评论:0      收藏:0      [点我收藏+]

标签:数据库表   next   dealloc   col   dex   dbr   sof   扫描   msdn   

第一步:查看是否需要维护,查看扫描密度/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

SQL SERVER数据库维护与重建索引

标签:数据库表   next   dealloc   col   dex   dbr   sof   扫描   msdn   

原文地址:http://www.cnblogs.com/firstdream/p/7892243.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!