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.

相关推荐
qq_316837752 分钟前
mysql mybatisPlus 存储经纬度
数据库·mysql
QT 小鲜肉5 分钟前
【Linux命令大全】001.文件管理之lsattr命令(实操篇)
linux·运维·服务器·笔记·elasticsearch
杀死那个蝈坦7 分钟前
短链接生成-基于布隆过滤器和唯一索引
java·数据库·微服务·oracle·rocketmq
iconball20 分钟前
个人用云计算学习笔记 --32 Docker和docker swarm
运维·笔记·学习·docker·容器·云计算
38242782722 分钟前
使用 webdriver-manager配置geckodriver
java·开发语言·数据库·爬虫·python
m0_5557629024 分钟前
linux开发——网络配置(含VM网络配置)
linux·运维·网络
QT 小鲜肉34 分钟前
【Linux命令大全】001.文件管理之mdir命令(实操篇)
linux·运维·服务器·chrome·笔记
摇滚侠35 分钟前
镜像容器相关命令,docker export/import/save/load/commit,导出容器给别人使用
运维·docker·容器
这儿有一堆花1 小时前
拒绝性能缩水:如何甄别真正的高性能 VPS
运维·服务器
惜分飞1 小时前
Oracle Recovery Tools 使用说明
数据库·oracle·oracle恢复·替代bbed·oracle恢复工具