sql server 重建索引

单个表重建索引:

--分析表的索引建立情况:
DBCC showcontig('patinfo')

如果扫描密度比例失调,逻辑扫描碎片过多,每页平均可用字节数过大则需要重建索引


--执行重建索引命令:
DBCC DBREINDEX('patinfo')

 整个数据库重建索引:

-- 指定你要重建索引的数据库

USE his;

GO



DECLARE @table_name VARCHAR(200);



--查询数据库里的所有表名

DECLARE cursor_reindex CURSOR FAST_FORWARD READ_ONLY
FOR
    SELECT  name
    FROM    sys.tables;



--使用游标遍历表列表

OPEN cursor_reindex;



FETCH NEXT FROM cursor_reindex INTO @table_name;



WHILE @@FETCH_STATUS = 0
    BEGIN

--开始重建表索引

        DBCC DBREINDEX(@table_name);

--DBCC DBREINDEX(@table_name, '', 90)



        FETCH NEXT FROM cursor_reindex INTO @table_name;

    END;



CLOSE cursor_reindex;

DEALLOCATE cursor_reindex;


版权声明:本文为zcj18537150970原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。