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.

相关推荐
Nandeska6 分钟前
10、MySQL8.0新增特性
数据库·mysql
未来之窗软件服务17 分钟前
计算机等级考试—KTV 管理系统数据流图大题—东方仙盟练气期
数据库·计算机软考·仙盟创梦ide·东方仙盟
云草桑25 分钟前
.net AI开发04 第八章 引入RAG知识库与文档管理核心能力及事件总线
数据库·人工智能·microsoft·c#·asp.net·.net·rag
Fᴏʀ ʏ꯭ᴏ꯭ᴜ꯭.30 分钟前
Haproxy ACL实战:精准分流与访问控制
运维
RockHopper202539 分钟前
解读数字化生产运行系统的裁决机制
运维·系统架构·智能制造·isa-95·isa-88
diediedei44 分钟前
机器学习模型部署:将模型转化为Web API
jvm·数据库·python
m0_561359671 小时前
使用Python自动收发邮件
jvm·数据库·python
天空属于哈夫克31 小时前
企业微信外部群运营升级:API 主动推送消息开发实战
java·数据库·mysql
guizhoumen1 小时前
2026年建站系统推荐及选项指南
大数据·运维·人工智能
naruto_lnq1 小时前
用Python批量处理Excel和CSV文件
jvm·数据库·python