SQL Server数据库重建索引的方法

     发布时间:2022-01-19 22:26:09

SQL Server数据库重建索引的方法

查看表是否需要维护

--定位数据库
USE [数据库名称]
--查看表是否需要维护
DBCC SHOWCONTIG([表名称])

查询结果
查看扫描密度/Scan Density是否小于90%

已执行 TABLE 级别的扫描。
- 扫描页数................................: 15
- 扫描区数..............................: 4
- 区切换次数..............................: 4
- 每个区的平均页数........................: 3.8
- 扫描密度 [最佳计数:实际计数].......: 40.00% [2:5]
- 逻辑扫描碎片 ..................: 40.00%
- 区扫描碎片 ..................: 75.00%
- 每页的平均可用字节数.....................: 1901.1
- 平均页密度(满).....................: 76.51%
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。

重建SQL Server数据库表索引
如发现扫描密度/Scan Density还是小于90%则重建表的所有索引,并不一定能达100%。

--定位数据库
USE [数据库名称]
--重建指定索引
DBCC DBREINDEX([表名称],[索引名称],100)
--重建当前表的全部索引
DBCC DBREINDEX([表名称],'',100)
参数 介绍
参数1 表名称
参数2 索引名称(不填写则重建当前表的全部索引)
参数3 填充因子【范围:0~100】【索引页的数据填充程度。如果是100,表示每一个索引页都全部填满,此时查询效率最高,但以后要插入数据时,就得移动后面的页,效率很低。如果是0,表示使用先前的填充因子值。】(无序数据【GUID/UUID之类】作为主键或索引字段可以适当将填充因子改小)