当前位置: 首页 > news >正文

SQL优化 where谓词条件is null优化

1.创建测试表及谓词条件中包含is null模拟语句

create table t641 as select * from dba_objects;

set autot trace

select SUBOBJECT_NAME,OBJECT_NAME from t641 where OBJECT_NAME='WRI$_OPTSTAT_SYNOPSIS$' and SUBOBJECT_NAME is null;

2.全表扫描逻辑读1237

ddef180d4bdb495c87942f4a946f9bc6.png

3.创建等值谓词条件的单列索引

create index idx_t641_01 on t641(object_name) online;

OBJECT_NAME字段索引范围范围,回表过滤SUBOBJECT_NAME is null,逻辑读7

14a52afec3924e33be687b101290b980.png

3.创建复合索引,包含SUBOBJECT_NAME is null条件字段

create index idx_t641_02 on t641(object_name,SUBOBJECT_NAME) online;

索引范围扫描,无需回表过滤,逻辑读4

bd41fcf40a434ade9dd52985d9a63cae.png

注意,null字段在索引第一列,也能使用到索引,但需要索引扫描后走filter,null不参与排序。

f3ebdfc304e84704a63942f5b77b20f3.png

04bc4d26178e472ca40c2e03113f4fe5.png


http://www.mrgr.cn/news/48947.html

相关文章:

  • 秋窗的一周年创作纪念日
  • 【fisco学习记录2】多群组搭建
  • ZYNQ使用XGPIO驱动外设模块(前半部分)
  • vue拖拉拽
  • 文件传输遗漏
  • mysql学习教程,从入门到精通,SQL 约束(Constraints)(41)
  • 【机器学习】逻辑回归|分类问题评估|混淆矩阵|ROC曲线|AUC指标 介绍及案例代码实现
  • leetcode209:长度最小的子数组
  • LeetCode刷题日记之回溯算法(一)
  • 有了WPF后Winform还有活路吗?
  • ESP32-C3实现串口控制ESP32开启热点,关闭热点,连接路由,断开连接路由
  • 大数据新视界 --大数据大厂之大数据环境下的零信任安全架构:构建可靠防护体系
  • 交叉熵损失函数(Cross-Entropy Loss Function)解释说明
  • 沃趣,常用的热部署原理竟然是这样的
  • SAP SD学习笔记09 - 受注传票中的不完全Log 和 Business Partner(取引先机能)
  • 红黑树:平衡二叉查找树的经典实现
  • 【关系模型】关系完整性约束
  • 如何解决Elasticsearch容器因“Connection refused”导致的问题
  • 机器学习中的监督学习与无监督学习对比
  • 初始操作系统篇(2)—— 操作系统的运行环境与体系结构