今天没有事来熟悉一下DBCC二个命令,分别如下:
DBCC SHOWCONTIG:显示指定的表或视图的数据和索引的碎片信息。
DBCC INDEXDEFRAG:指定表或视图的索引碎片整理。
具体使用结果如下:
DBCC SHOWCONTIG 正在扫描 'TaoBaoTrade_0003' 表...
表: 'TaoBaoTrade_0003' (181575685);索引 ID: 1,数据库 ID: 5
已执行 TABLE 级别的扫描。
- 扫描页数................................: 67445
- 扫描区数..............................: 8544
- 区切换次数..............................: 53095
- 每个区的平均页数........................: 7.9
- 扫描密度 [最佳计数:实际计数].......: 15.88% [8431:53096]
- 逻辑扫描碎片 ..................: 86.95%
- 区扫描碎片 ..................: 24.16%
- 每页的平均可用字节数........................: 3087.3
- 平均页密度(满).....................: 61.86%
通过dbcc INDEXDEFRAG (5,'TaoBaoTrade_0003')整理完数据后,TaoBaoTrade_0003的信息如下:
DBCC SHOWCONTIG 正在扫描'TaoBaoTrade_0003' 表...
表: 'TaoBaoTrade_0003' (181575685);索引ID: 1,数据库ID: 5
已执行TABLE 级别的扫描。
- 扫描页数................................: 42891
- 扫描区数..............................: 5569
- 区切换次数..............................: 5702
- 每个区的平均页数........................: 7.7
- 扫描密度[最佳计数:实际计数].......: 94.02% [5362:5703]
- 逻辑扫描碎片..................: 2.20%
- 区扫描碎片..................: 28.71%
- 每页的平均可用字节数........................: 211.4
- 平均页密度(满).....................: 97.39%
通过二次的数据可以知道,表或索引占的页数和区数变小,区切换次数也变快了。扫描密度反映表或索引的数据是不否连续的,可以很明显看出,扫描密度为15.88%,通过整理数据,现为94.02%.我分析就到这里,其实我也不是很理解,请高手再深入。