重建索引可以有效整理产生的索引碎片,从而加快查询速度
例如有个表: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替换为你的数据库名称。