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.

相关推荐
潘晓可20 分钟前
Docker部署Bookstack
运维·docker·容器
Serverless社区22 分钟前
阿里云新发的AgentRun 有哪些“大招”,一文详解来了
运维·阿里云·云原生·serverless
倔强的石头10636 分钟前
Linux 进程深度解析(二):进程状态、fork 创建与特殊进程(僵尸 与 孤儿)
linux·运维·服务器
TT哇1 小时前
【Database Navigator 插件】idea 社区版连接 mysql 数据库
java·数据库·mysql·intellij-idea·database
小李小李无与伦比1 小时前
使用Simiki,部署.md文档
linux·运维·服务器
workflower1 小时前
PostgreSQL 数据库的典型操作
数据结构·数据库·oracle·数据库开发·时序数据库
正在走向自律1 小时前
AiOnly平台x FastGPT:一键调用Gemini 3 Pro系列模型从零构建AI工作流
大数据·数据库·人工智能·aionly·nano banana pro·gemini 3 pro
怀旧,1 小时前
【Linux系统编程】12. 基础IO(下)
linux·运维·服务器
网络小白不怕黑1 小时前
Docker Compose与私有仓库
运维·docker·容器
松涛和鸣2 小时前
29、Linux进程核心概念与编程实战:fork/getpid全解析
linux·运维·服务器·网络·数据结构·哈希算法