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.

相关推荐
doris61019 小时前
2025年零门槛设备管理系统测评
数据库
交换机路由器测试之路19 小时前
什么是以太网
运维·网络·网络协议·路由器·以太网·交换机
_lst_19 小时前
linux进程控制
linux·运维·服务器
小时候没少挨打19 小时前
从0到1安装NVIDIA驱动(NVSwitch+Driver+IB网络驱动)
运维·服务器·数据库
卿雪19 小时前
MySQL【存储引擎】:InnoDB、MyISAM、Memory...
java·数据库·python·sql·mysql·golang
九河云19 小时前
新能源汽车充电桩数字化:充电效率 AI 调控与运维服务云管理平台实践
运维·人工智能·汽车
即随本心0.o19 小时前
大模型springai,Rag,redis-stack向量数据库存储
java·数据库·redis
晴栀ay19 小时前
AI TO SQL:AIGC时代数据库操作的革命性变革
数据库·llm·aigc
可可苏饼干19 小时前
Docker命令与知识点归纳
运维·学习·docker·容器
00后程序员张19 小时前
Fastlane 结合 开心上架,构建跨平台可发布的 iOS 自动化流水线实践
android·运维·ios·小程序·uni-app·自动化·iphone