SQL重建表索引

重建索引可以有效整理产生的索引碎片,从而加快查询速度

 

例如有个表:MealRecords

DBCC DBREINDEX( MealRecords , '',  100 )

参数1:填表名

参数2:为''的话,表示该表的所有索引

参数3:填充因子,默认100

上面的写法,可以简化为

DBCC DBREINDEX(MealRecords)

--------------------------------------------------------

DECLARE @sql NVARCHAR(MAX)

SET @sql = N''

 

SELECT @sql = @sql + N'ALTER INDEX ALL ON ' + QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME) + ' REBUILD;'

FROM INFORMATION_SCHEMA.TABLES

WHERE TABLE_TYPE = 'BASE TABLE' AND TABLE_CATALOG = 'EastRiver'

 

EXEC sp_executesql @sql

--重建数据库所有表索引,你需要将EastRiver替换为你的数据库名称。