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.

相关推荐
开开心心就好几秒前
系统清理工具清理缓存日志,启动卸载管理
linux·运维·服务器·神经网络·cnn·pdf·1024程序员节
Moresweet猫甜1 分钟前
Ubuntu LVM引导丢失紧急救援:完整恢复指南
linux·运维·数据库·ubuntu
MindCareers3 分钟前
Beta Sprint Day 5-6: Android Development Improvement + UI Fixes
android·c++·git·sql·ui·visual studio·sprint
yumgpkpm5 分钟前
Cloudera CDH5、CDH6、CDP7现状及替代方案
数据库·人工智能·hive·hadoop·elasticsearch·数据挖掘·kafka
schinber6 分钟前
docker compose如何管理docker服务
运维·docker·容器
枫子有风7 分钟前
Docker的安装【下载安装、报错、镜像配置、常用命令】
运维·docker·容器
松涛和鸣8 分钟前
48、MQTT 3.1.1
linux·前端·网络·数据库·tcp/ip·html
leo825...8 分钟前
Docker常见命令(总结)
运维·docker·容器
仙仙学姐测评9 分钟前
开题报告PPT自动化生成工具研究
运维·自动化·powerpoint
晓时谷雨10 分钟前
达梦数据库适配方案及总结
数据库·达梦·数据迁移