【发布时间】:2021-07-17 02:13:05
【问题描述】:
我想知道除了“分析索引验证结构”之外是否有其他方法可以找出Oracle数据库中的索引碎片?因为这会导致生产环境中的行锁定。 “在线分析索引验证结构”不会填充 index_stats。 谢谢。
【问题讨论】:
我想知道除了“分析索引验证结构”之外是否有其他方法可以找出Oracle数据库中的索引碎片?因为这会导致生产环境中的行锁定。 “在线分析索引验证结构”不会填充 index_stats。 谢谢。
【问题讨论】:
如果您的优化器统计信息是相对最新的,您可以执行类似的操作
将列长度加上 6 个字节作为 rowid,乘以行数,得出索引条目的总字节数。
根据其中的数据以及插入数据的方式,索引通常会占满 65-90%。加入一些块级开销(假设每 8k 块 200 字节),您可以使用它来估计您期望索引具有多少叶块。
如果这与您拥有的 LEAF_BLOCK 统计数据大致接近,那么您可以假设该索引可能不是“碎片化”的(尽管这是一个可以涵盖很多事物的术语)。
但除非你有一个性能问题可以当前绑定到这个索引,否则我不会太担心索引碎片。
【讨论】:
行锁是行锁;因此,这不太可能是由于索引碎片(这是另一个主题)。 行锁通常由应用程序取出,属于正常行为。
【讨论】: