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.

相关推荐
yhole2 分钟前
redis连接服务
数据库·redis·bootstrap
蛐蛐蛐6 分钟前
在Ubuntu上重新安装OpenClaw报错的一种解决方法
linux·运维·ubuntu·openclaw
无忧智库12 分钟前
国家级垂直行业大模型高质量语料库精炼与自动化标注底座建设方案(WORD)
运维·自动化
知识分享小能手21 分钟前
MongoDB入门学习教程,从入门到精通,MongoDB 副本集管理完全指南(13)
数据库·学习·mongodb
OtIo TALL22 分钟前
Redis 6.2.7安装配置
前端·数据库·redis
太多.梦想.完成25 分钟前
Linux系统无头浏览器pupteer截图出来中文乱码
linux·运维·服务器
猹叉叉(学习版)27 分钟前
【系统分析师_知识点整理】 14.系统运行与维护
运维·笔记·软考·系统分析师
johnny23328 分钟前
数据库工具:LazySQL、sql-tap、GoNavi、Tabularis、rsql、DbPaw
数据库
gechunlian8841 分钟前
MySQL数据库的数据文件保存在哪?MySQL数据存在哪里
数据库·mysql
竹之却1 小时前
【Minecraft】无法连接至服务器,登录失败:无效会话(请尝试重启游戏及启动器)
运维·服务器·游戏·我的世界·minecraft