SQLServer 重建索引前后对比

Posted 有梦就能实现

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQLServer 重建索引前后对比相关的知识,希望对你有一定的参考价值。

在做维护项目的时,我们经常会遇到索引维护的问题,通过语句,我们就可以判断某个表的索引是否需要重建。

执行一下语句:先分析表的索引

分析表的索引建立情况:DBCC showcontig(‘Table‘)
DBCC SHOWCONTIG 正在扫描 ‘Table‘‘ 表... 表: ‘Table‘‘ (53575229);索引 ID: 1,数据库 ID: 14 已执行 TABLE 级别的扫描。 - 扫描页数................................: 228 - 扫描区数..............................: 52 - 区切换次数..............................: 225 - 每个区的平均页数........................: 4.4 - 扫描密度 [最佳计数:实际计数].......: 12.83% [29:226] - 逻辑扫描碎片 ..................: 97.37% - 区扫描碎片 ..................: 98.08% - 每页的平均可用字节数........................: 2686.3 - 平均页密度(满).....................: 66.81%

当你发现,扫描密度行,最佳计数和实际计数的比例已经严重失调,逻辑扫描碎片占了非常大的百分比,每页平均可用字节数非常大时,就说明

你的索引需要重新整理一下了。

执行重建索引命令: DBCC DBREINDEX(‘Table‘‘) 后分析的情况
DBCC SHOWCONTIG 正在扫描 ‘Table‘‘ 表... 表: ‘Table‘‘ (53575229);索引 ID: 1,数据库 ID: 14 已执行 TABLE 级别的扫描。 - 扫描页数................................: 154 - 扫描区数..............................: 20 - 区切换次数..............................: 19 - 每个区的平均页数........................: 7.7 - 扫描密度 [最佳计数:实际计数].......: 100.00% [20:20] - 逻辑扫描碎片 ..................: 0.00% - 区扫描碎片 ..................: 55.00% - 每页的平均可用字节数........................: 86.8 - 平均页密度(满).....................: 98.93%



以上是关于SQLServer 重建索引前后对比的主要内容,如果未能解决你的问题,请参考以下文章

对比:重建索引与更新统计

SQLServer重建索引

Sql server 创建索引后,只有查询后重建才会生效,不知为啥?

SQL Server中是否可以准确获取最后一次索引重建的时间?

SQL Server获取索引创建时间&重建时间&重组时间

重组索引、重建索引和重组表