SQL优化 where谓词条件OR优化

1.测试表,及测试语句where条件中OR对应两个字段选择度很高

create table t618 as select * from dba_objects;

select object_name from t618 where (object_id=12043 or DATA_OBJECT_ID=12043) and STATUS='VALID';

2.没有索引情况下,全表扫描逻辑读1238。

3.OR其中一列创建索引,无法使用索引,全表扫描。

SYS@db11g> create index idx_t618_01 on t618(object_id) online;

Index created.

4.OR对应两列同时创建索引,可以使用到两个索引,并CONCATENATION,逻辑读降为7。

SYS@db11g> create index idx_t618_02 on t618(DATA_OBJECT_ID) online;

Index created.

相关推荐
进阶的小名4 分钟前
[超轻量级延时队列(MQ)] Redis 不只是缓存:我用 Redis Stream 实现了一个延时MQ(自定义注解方式)
java·数据库·spring boot·redis·缓存·消息队列·个人开发
短剑重铸之日6 分钟前
《7天学会Redis》Day 6 - 内存&性能调优
java·数据库·redis·缓存·7天学会redis
百度Geek说19 分钟前
百度流式计算开发平台的降本增效之路
运维·云原生
e***985730 分钟前
MobaXterm全能运维实战指南
运维
鱼跃鹰飞31 分钟前
面试题:解释一下什么是全字段排序和rowid排序
数据结构·数据库·mysql
Aloudata技术团队42 分钟前
完美应对千亿级明细数据计算:Aloudata CAN 双引擎架构详解
数据库·数据分析·数据可视化
Dxy123931021643 分钟前
MySQL连表查询讲解:从基础到实战
数据库·mysql
DemonAvenger43 分钟前
Redis数据迁移与扩容实战:平滑扩展的技术方案
数据库·redis·性能优化
last demo1 小时前
docker容器
运维·docker·容器
毕设十刻1 小时前
基于Vue的民宿管理系统st4rf(程序 + 源码 + 数据库 + 调试部署 + 开发环境配置),配套论文文档字数达万字以上,文末可获取,系统界面展示置于文末
前端·数据库·vue.js