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.

相关推荐
shizhan_cloud21 小时前
Shell 函数的知识与实践
linux·运维
一颗宁檬不酸21 小时前
文件管理知识点
数据库
1 天前
达梦数据库-事务
数据库·达梦数据库·dm
网硕互联的小客服1 天前
MYSQL数据库和MSSQL数据库有什么区别?分别适用于什么脚本程序?
数据库·mysql·sqlserver
weixin_462446231 天前
【原创实践】python 获取节假日列表 并保存为excel
数据库·python·excel
RPA 机器人就找八爪鱼1 天前
RPA 赋能银行数字化转型:四大核心应用场景深度解析
数据库·人工智能·rpa
掂掂三生有幸1 天前
使用openGauss搭建一个监狱管理系统
数据库
VX:Fegn08951 天前
计算机毕业设计|基于Java人力资源管理系统(源码+数据库+文档)
java·开发语言·数据库·vue.js·spring boot·后端·课程设计
siriuuus1 天前
Redis 安装、多实例部署、主从复制及 Cluster 实践
数据库·redis·centos
2301_810746311 天前
CKA冲刺40天笔记 - day20-day21 SSL/TLS详解
运维·笔记·网络协议·kubernetes·ssl