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.

相关推荐
ruleslol5 小时前
MySQL的段、区、页、行 详解
数据库·mysql
一心赚狗粮的宇叔5 小时前
中级软件开发工程师2025年度总结
java·大数据·oracle·c#
正在学习前端的---小方同学5 小时前
Harbor部署教程
linux·运维
Learn-Python5 小时前
MongoDB-only方法
python·sql
while(1){yan}5 小时前
MyBatis Generator
数据库·spring boot·java-ee·mybatis
それども5 小时前
MySQL affectedRows 计算逻辑
数据库·mysql
是小章啊6 小时前
MySQL 之SQL 执行规则及索引详解
数据库·sql·mysql
牛奔6 小时前
Docker Compose 两种安装与使用方式详解(适用于 Docker 19.03 版本)
运维·docker·云原生·容器·eureka
富士康质检员张全蛋6 小时前
JDBC 连接池
数据库
yangminlei6 小时前
集成Camunda到Spring Boot项目
数据库·oracle