记一次位图索引“BITMAP CONVERSION FROM ROWIDS”引起的问题

独自空忆成欢 提交于 2020-03-11 18:26:00

       一般的经验OLTP不建议使用位图索引,虽然位图索引可能会提高查询速度,但是如果修改有索引的数据,那索引指向的所有行都会被锁定,这是由于oracle不能锁定位图索引条目中单独的一行,而是锁定整个位图索引条目。

       今天研发告诉我一个系统数据总是有问题,排查到某个查询的时候,我看了下执行计划,竟然发现了bitmap,开始还以为是建了位图索引,后来仔细一看是BITMAP CONVERSION FROM ROWIDS,才知道是在一个选择性非常差的列上建了普通索引,导致oracle优化器自动将索引转换成位图索引了。那个列上的索引其实没啥用处,仅仅是由于工程师觉得要用到这个列。如果选择性差的列需要建索引,建议建联合索引也能避免这个问题。

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!