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.

相关推荐
Elastic 中国社区官方博客5 分钟前
在 Elasticsearch 中使用 Mistral Chat completions 进行上下文工程
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
奋斗的蛋黄1 小时前
网络卡顿运维排查方案:从客户端到服务器的全链路处理
运维·服务器·网络
编程爱好者熊浪2 小时前
两次连接池泄露的BUG
java·数据库
wanhengidc2 小时前
云手机搬砖 尤弥尔传奇自动化操作
运维·服务器·arm开发·安全·智能手机·自动化
wow_DG3 小时前
【运维✨】云服务器公网 IP 迷雾:为什么本机看不到那个地址?
运维·服务器·tcp/ip
TDengine (老段)3 小时前
TDengine 字符串函数 CHAR 用户手册
java·大数据·数据库·物联网·时序数据库·tdengine·涛思数据
qq7422349844 小时前
Python操作数据库之pyodbc
开发语言·数据库·python
yuanManGan4 小时前
走进Linux的世界:初识操作系统(Operator System)
android·linux·运维
姚远Oracle ACE4 小时前
Oracle 如何计算 AWR 报告中的 Sessions 数量
数据库·oracle
i_am_a_div_日积月累_4 小时前
jenkins打包报错
运维·rust·jenkins·jenkins打包报错