SQL Server调优系列进阶篇 - 如何重建数据库索引

随着数据的数据量的急剧增加,数据库的性能也会明显的有些缓慢这个时候你可以考虑下重建索引或是重新组织索引了。

DBCC SHOWCONTIG('表名') 可以查看当前表的索引碎情况。

重建索引

方法一:

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)
/*--填充因子:90,建议60-90之间,100的查询性能最好,但插入数据后会导致索引页迁移会影响修改的性能.*/
FETCH NEXT FROM authors_cursor
INTO @name
END Close authors_cursor
Deallocate authors_cursor

方法二:

DECLARE  tables CURSOR for select name from sysobjects where xtype='U'

DECLARE @table_name char(128)

Open tables

Fetch next from tables into @table_name

While @@fetch_status=0
Begin
EXECUTE ('ALTER INDEX ALL ON ' + @table_name + ' REBUILD')
Fetch next from tables into @table_name
End Close tables
Deallocate tables
上一篇:(CodeForces 510C) Fox And Names 拓扑排序


下一篇:How to using to code import to GL journal[AX2012]