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.

相关推荐
百***812715 小时前
【HTML+CSS】使用HTML与后端技术连接数据库
css·数据库·html
6***34916 小时前
MySQL项目
数据库·mysql
Zhao·o16 小时前
KafkaMQ采集指标日志
运维·中间件·kafka
木井巳16 小时前
【MySQL数据库】数据库基础
数据库·mysql
Wang's Blog16 小时前
MySQL: 查询全流程深度解析与性能优化实践指南
数据库·mysql·性能优化
一 乐16 小时前
宠物管理|宠物共享|基于Java+vue的宠物共享管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·springboot·宠物
Wang's Blog16 小时前
MongoDB小课堂: 高级查询操作符与游标管理综合指南之深度整合逻辑操作符、字段处理、数组查询与游标控制的最佳实践
数据库·mongodb
垂金烟柳16 小时前
MongoDB GridFS 历史数据自动化清理实践
数据库·mongodb·自动化
P***253916 小时前
MCP负载均衡
运维·负载均衡
SAP庖丁解码16 小时前
【SAP Web Dispatcher负载均衡】
运维·前端·负载均衡