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.

相关推荐
布鲁格若门3 分钟前
CentOS 7 桌面版安装 cuda 12.4
linux·运维·centos·cuda
Eternal-Student7 分钟前
【docker 保存】将Docker镜像保存为一个离线的tar归档文件
运维·docker·容器
SelectDB技术团队9 分钟前
兼顾高性能与低成本,浅析 Apache Doris 异步物化视图原理及典型场景
大数据·数据库·数据仓库·数据分析·doris
DC_BLOG14 分钟前
Linux-Apache静态资源
linux·运维·apache
码农小丘16 分钟前
一篇保姆式centos/ubuntu安装docker
运维·docker·容器
inventecsh25 分钟前
mongodb基础操作
数据库·mongodb
白云如幻29 分钟前
SQL99版链接查询语法
数据库·sql·mysql
耗同学一米八42 分钟前
2024 年河北省职业院校技能大赛网络建设与运维赛项样题二
运维·网络·mariadb
爱吃烤鸡翅的酸菜鱼1 小时前
MySQL初学之旅(4)表的设计
数据库·sql·mysql·database
淡水猫.1 小时前
Fakelocation Server服务器/专业版 ubuntu
运维·服务器·ubuntu