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.

相关推荐
2401_83847251几秒前
使用Python进行图像识别:CNN卷积神经网络实战
jvm·数据库·python
知识即是力量ol19 分钟前
基于 Redis 实现白名单,黑名单机制详解及应用场景
数据库·redis·缓存
zhihuaba24 分钟前
使用PyTorch构建你的第一个神经网络
jvm·数据库·python
u01092727125 分钟前
Python Web爬虫入门:使用Requests和BeautifulSoup
jvm·数据库·python
小光学长25 分钟前
基于ssm的农业管理系统8y15w544(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库
Mr_Xuhhh1 小时前
MySQL表的增删改查(CRUD)操作详解
数据库·windows
何中应1 小时前
vmware的linux虚拟机如何设置以命令行方式启动
linux·运维·服务器
定偶1 小时前
MySQL安装
数据库·mysql
Zzzzmo_1 小时前
【MySQL】数据库约束 及 表的设计
数据库·mysql
江畔何人初1 小时前
kubernet与docker的关系
linux·运维·云原生