随着数据的数据量的急剧增加,数据库的性能也会明显的有些缓慢
这个时候你可以考虑下重建索引或是重新组织索引了。
通过
Sql代码
DBCC SHOWCONTIG(‘表名’)
可以查看当前表的索引碎片情况,出来的结果大概如下:
DBCC SHOWCONTIG 正在扫描 ‘tblWFProcessRelatedDataInstanceHistory’ 表…
表: ‘tblWFProcessRelatedDataInstanceHistory’ (933630419);索引 ID: 1,数据库 ID: 8
已执行 TABLE 级别的扫描。
- 扫描页数…………………………..: 727
- 扫描区数…………………………: 96
- 区切换次数…………………………: 95
- 每个区的平均页数……………………: 7.6
- 扫描密度 [最佳计数:实际计数]…….: 94.79% [91:96]
- 逻辑扫描碎片 ………………: 3.16%
- 区扫描碎片 ………………: 76.04%
- 每页的平均可用字节数……………………: 143.6
- 平均页密度(满)…………………: 98.23%
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
其中有些很重要的指标,如扫描密度、扫描碎片等。
最佳计数与实际计数相当时说明索引是比较好的,如相差太多,就必须可以重新建或组织索引。
重建索引命令:
指定表名
Sql代码
DBCC DBREINDEX (Table, ‘’, 70) (使用填充因子值 70 重建 Table表上的所有索引)
DBCC DBREINDEX(‘Table’)
对全库
Sql代码
exec sp_msforeachtable ‘DBCC DBREINDEX(‘’?’’)’