oracle数据库SQL语句走INDEX SKIP SCAN性能问题

     在实践中ORACLE数据库SQL语句走INDEX SKIP SCAN(索引)会引发性能问题。

     通常相关指标为SQL语句不得走INDEX SKIP SCAN。

     一个复合索引即使在一次查询中没有使用前导字段,也可能通过“索引跳跃式扫描”被有效引用(比如有两个字段id,name;我们只使用了name这个字段作为索引,而没有使用id,这样也可以通过索引跳跃式扫描)。

      索引首字段选择性不高,且索引首字段不在查询条件中时,执行计划可能会走INDEX SKIP SCAN导致性能问题:

      1. 资源消耗:由于跳过了索引的部分列值,查询会需要更多的CPU和内存资源来执行,这可能导致系统负载增加并降低查询性能。

      2. 延迟:由于查询需要访问更多的数据块,索引跳跃扫描可能会增加查询的响应时间。

      3. 读取效率下降:跳过索引的部分列值会导致查询需要读取更多的数据块,从而增加了IO操作,降低了读取效率。

      4. 存储空间需求增加:由于每个索引条目都需要存储额外的跳跃信息,因此索引跳跃扫描可能会增加索引占用的存储空间。

解决办法:

1、选择合适的索引首字段。建立符合索引时分析数据分布,优先将具有更高分散度的值作为先导列。

2、查询尽量使用索引先导列开始查询,控制查询条件,无法使用先导索引的情况,建立新的索引适配查询。

更多内容请关注公众号“测试小号等闲之辈”~

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值