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.

相关推荐
超級二蓋茨11 分钟前
局域网内Docker镜像共享方法
运维·docker·容器
CAE虚拟与现实19 分钟前
Ubuntu中snap
linux·运维·ubuntu·apt·wsl·wsl2·snap
ALe要立志成为web糕手30 分钟前
数据库脱裤
数据库·windows·mysql·web安全·网络安全·adb·mssql
随记12338 分钟前
Microsoft SQL Server Management 一键删除数据库所有外键
数据库·sql·sqlserver
韶博雅1 小时前
mysql表类型查询
android·数据库·mysql
梁萌1 小时前
05-DevOps-Jenkins自动拉取构建代码
运维·jenkins·devops·代码拉取
小wanga1 小时前
【MySQL】索引特性
android·数据库·mysql
人猿泰飞1 小时前
在Ubuntu-22.04.5中安装ONLYOFFICE DocSpace(协作空间)【注意:安装失败,谨慎参考!】
java·linux·运维·python·ubuntu·项目管理·onlyoffice
CAE虚拟与现实1 小时前
修改wsl中发行版Ubuntu的主机名
linux·运维·ubuntu·wsl·wsl2·修改主机名
开发小能手-roy1 小时前
Ubuntu服务器性能调优指南:从基础工具到系统稳定性提升
linux·运维·服务器·ubuntu