DBCC SHOWCONTIG WITH ALL_INDEXES --查看所有表的索引碎片情况
DBCC SHOWCONTIG(fq_viewvform) --指定表索引碎片情况
dbcc dbreindex('fq_viewvform') --重建表索引
DBCC SHOWCONTIG(fq_viewvform) --检查重建后表索引碎片情况
查看全库索引碎片情况:
查看单表索引情况:
例子说明:以下ai生成说明,仅供参考
DBCC SHOWCONTIG 正在扫描 'fq_viewvtz' 表...
表: 'fq_viewvtz' (59147256);索引 ID: 2,数据库 ID: 6
已执行 LEAF 级别的扫描。
- 扫描页数................................: 10
- 扫描区数..............................: 3
- 区切换次数..............................: 2
- 每个区的平均页数........................: 3.3
- 扫描密度 [最佳计数:实际计数].......: 66.67% [2:3]
- 逻辑扫描碎片 ..................: 10.00%
- 区扫描碎片 ..................: 33.33%
- 每页的平均可用字节数.....................: 656.0
- 平均页密度(满).....................: 91.90%
DBCC SHOWCONTIG 正在扫描 'fq_viewvjc' 表...
表: 'fq_viewvjc' (75147313);索引 ID: 0,数据库 ID: 6
已执行 TABLE 级别的扫描。
- 扫描页数................................: 65
- 扫描区数..............................: 12
- 区切换次数..............................: 11
- 每个区的平均页数........................: 5.4
- 扫描密度 [最佳计数:实际计数].......: 75.00% [9:12]
- 区扫描碎片 ..................: 83.33%
- 每页的平均可用字节数.....................: 496.9
- 平均页密度(满).....................: 93.86%
对于 fq_viewvtz 表:
索引ID: 2
扫描页数: 10页
扫描区数: 3个扩展区(Extent)
区切换次数: 2次,表示在扫描过程中发生了2次扩展区的切换
每个区的平均页数: 3.3页,意味着每个扩展区中平均有3.3页被使用
扫描密度: 66.67% [2:3],表示最佳情况下应该只有2个扩展区,但实际使用了3个,这表明存在一定程度的外部碎片
逻辑扫描碎片: 10.00%,表示索引中存在10%的逻辑碎片
区扫描碎片: 33.33%,表示有33.33%的扩展区是无序的,这是外部碎片的一个指标
每页的平均可用字节数: 656.0字节,表示每页上平均有656字节的可用空间
平均页密度: 91.90%,表示页面填充度较高,但还有一定空间未被利用
对于 fq_viewvjc 表:
索引ID: 0(表示是堆,即没有聚集索引)
扫描页数: 65页
扫描区数: 12个扩展区
区切换次数: 11次,表示在扫描过程中发生了11次扩展区的切换
每个区的平均页数: 5.4页,意味着每个扩展区中平均有5.4页被使用
扫描密度: 75.00% [9:12],表示最佳情况下应该只有9个扩展区,但实际使用了12个,这表明存在较多的外部碎片
区扫描碎片: 83.33%,表示有83.33%的扩展区是无序的,这是一个非常高的外部碎片比例
每页的平均可用字节数: 496.9字节,表示每页上平均有大约497字节的可用空间
平均页密度: 93.86%,表示页面填充度非常高,几乎接近满页
分析:
fq_viewvtz 表的索引存在一定程度的碎片,特别是外部碎片,可能需要考虑进行索引维护操作,如重新组织或重建索引。
fq_viewvjc 表作为一个堆,其外部碎片比例非常高,这可能会严重影响查询性能。建议尽快进行索引重建操作,以减少碎片并提高性能。
在进行索引维护之前,请确保在非高峰时段操作,并有完整的数据库备份。同时,考虑到 fq_viewvjc 表的高页面填充度,重建索引可能会带来较好的性能提升。
DBCC SHOWCONTIG 正在扫描 'fq_viewvxt' 表...
表: 'fq_viewvxt' (43147199);索引 ID: 0,数据库 ID: 6
已执行 TABLE 级别的扫描。
- 扫描页数................................: 1
- 扫描区数..............................: 1
- 区切换次数..............................: 0
- 每个区的平均页数........................: 1.0
- 扫描密度 [最佳计数:实际计数].......: 100.00% [1:1]
- 区扫描碎片 ..................: 0.00%
- 每页的平均可用字节数.....................: 7050.0
- 平均页密度(满).....................: 12.90%
表名: fq_viewvxt
表ID: 43147199
数据库ID: 6
以下是 DBCC SHOWCONTIG 输出结果的各个指标解释:
扫描页数: 1页,这意味着索引或表只占用了1页的空间。
扫描区数: 1,表示索引或表只占用了一个扩展区(Extent)。
区切换次数: 0,表示在扫描过程中没有发生扩展区的切换,这通常意味着索引或表非常紧凑。
每个区的平均页数: 1.0,表示每个扩展区中只有1页,这表明索引或表非常紧凑,没有碎片。
扫描密度 [最佳计数:实际计数]: 100.00% [1:1],表示实际的索引或表页面使用情况与最佳情况完全一致,没有碎片。
区扫描碎片: 0.00%,表示没有扩展区碎片。
每页的平均可用字节数: 7050.0,表示每页上平均有7050字节的可用空间。这个数值较高,可能表明页内空间没有得到充分利用。
平均页密度(满): 12.90%,表示页面填充度只有12.90%,这表明页面上大部分空间是空的。
从这些指标来看,fq_viewvxt 表的索引非常紧凑,没有碎片,并且页面填充度很低。这可能意味着表中的数据量很小,或者表中的数据行非常短。如果表中的数据量确实很少,那么这种低填充度是合理的。然而,如果表中的数据量不小,那么可能需要考虑增加页面填充因子,或者重新设计表的结构,以更有效地利用存储空间。