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.

相关推荐
qianshang23318 小时前
SQL注入学习总结
网络·数据库·渗透
what丶k18 小时前
深入解析Redis数据持久化:RBD机制原理、实操与生产最佳实践
数据库·redis·缓存
可可嘻嘻大老虎19 小时前
nginx无法访问后端服务问题
运维·nginx
瀚高PG实验室19 小时前
通过数据库日志获取数据库中的慢SQL
数据库·sql·瀚高数据库
Hgfdsaqwr19 小时前
Python在2024年的主要趋势与发展方向
jvm·数据库·python
invicinble19 小时前
对于Mysql深入理解
数据库·mysql
阳光九叶草LXGZXJ20 小时前
达梦数据库-学习-47-DmDrs控制台命令(LSN、启停、装载)
linux·运维·数据库·sql·学习
无忧智库20 小时前
某市“十五五“地下综合管廊智能化运维管理平台建设全案解析:从数字孪生到信创适配的深度实践(WORD)
运维·智慧城市
Hgfdsaqwr20 小时前
掌握Python魔法方法(Magic Methods)
jvm·数据库·python
s1hiyu20 小时前
使用Scrapy框架构建分布式爬虫
jvm·数据库·python