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.

相关推荐
sorry#4 小时前
top简单使用
linux·运维
广东大榕树信息科技有限公司4 小时前
如何通过动环监控系统提升机房运行安全与效率?
运维·网络·物联网·国产动环监控系统·动环监控系统
Coder_Boy_4 小时前
基于SpringAI的智能平台基座开发-(六)
java·数据库·人工智能·spring·langchain·langchain4j
半壶清水4 小时前
开源免费的在线考试系统online-exam-system部署方法
运维·ubuntu·docker·开源
热爱专研AI的学妹4 小时前
数眼搜索API与博查技术特性深度对比:实时性与数据完整性的核心差异
大数据·开发语言·数据库·人工智能·python
hopsky4 小时前
ShardingSphere功能简介
数据库·sql
QQ__17646198244 小时前
Ubuntu系统创建新用户与删除用户
linux·运维·服务器
talenteddriver5 小时前
mysql: MySQL索引和排序相关名词概念汇总
数据库·mysql
武昌库里写JAVA5 小时前
iview-CRUD模板
vue.js·spring boot·sql·layui·课程设计
6极地诈唬5 小时前
【PG漫步】DELETE不会改变本地文件的大小,VACUUM也不会
linux·服务器·数据库