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.

相关推荐
无名-CODING5 小时前
Spring事务管理完全指南:从零到精通(上)
java·数据库·spring
北方的银狐-Zero5 小时前
记录第一次部署银河麒麟环境Apache Doris单机部署
sql·database·doris
fengxin_rou5 小时前
【黑马点评实战篇|第一篇:基于Redis实现登录】
java·开发语言·数据库·redis·缓存
我待_JAVA_如初恋5 小时前
Redis常用的数据类型之String
数据库·redis·缓存
@ chen5 小时前
MySQL 中的锁机制
数据库·mysql
Elastic 中国社区官方博客5 小时前
Elasticsearch:使用 Elastic Workflows 构建自动化
大数据·数据库·人工智能·elasticsearch·搜索引擎·自动化·全文检索
OnYoung5 小时前
编写一个Python脚本自动下载壁纸
jvm·数据库·python
Apple_羊先森5 小时前
ORACLE数据库巡检SQL脚本--15、表空间的运行状态
数据库·sql·oracle
数据与人6 小时前
ksql 元命令完整帮助
数据库·oracle
m0_581124196 小时前
Python日志记录(Logging)最佳实践
jvm·数据库·python