当前位置: 首页 > 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.lryc.cn/news/455999.html

相关文章:

  • Starrocks 元数据恢复 failed to load journal type 10242
  • 《深度学习》神经语言模型 Word2vec CBOW项目解析、npy/npz文件解析
  • 黄粱一梦,镜花水月总是空
  • 【分布式事务-01】分布式事务之2pc两阶段提交
  • docker 安装 rabbitMQ
  • 知识改变命运 数据结构【java对象的比较】
  • 01_23 种设计模式之《简单工厂模式》
  • Android 12.0 关于定制自适应AdaptiveIconDrawable类型的动态日历图标的功能实现系列一
  • 【源码+文档+调试讲解】基于安卓的小餐桌管理系统springboot框架
  • C语言中的文件操作(二)
  • 【C++篇】继承之韵:解构编程奥义,领略面向对象的至高法则
  • Ubuntu 22.04 安装 KVM
  • 101 公司战略的基本概念
  • 【devops】devops-ansible之剧本初出茅庐--搭建rsync和nfs
  • @RestController 和 @Controller 注解的联系及要点
  • 机器学习篇-day03-线性回归-正规方程与梯度下降-模型评估-正则化解决模型拟合问题
  • 图像人脸与视频人脸匹配度检测
  • 【AI绘画】Midjourney进阶:对称构图详解
  • 道路积水检测数据集 1450张 路面积水 带分割 voc yolo
  • 上门安装维修系统小程序开发详解及源码示例
  • 03_23 种设计模式之《原型模式》
  • 【秋招笔试】10.08华为荣耀秋招(已改编)-三语言题解
  • 基于ResNet50模型的船型识别与分类系统研究
  • 一个为分布式环境设计的任务调度与重试平台,高灵活高效率,系统安全便捷,分布式重试杀器!(附源码)
  • 攻防世界(CTF)~Misc-Banmabanma
  • 获取淘宝直播间弹幕数据的技术探索实践方法
  • Python 卸载所有的包
  • JWT(JSON Web Token)、Token、Session和Cookie
  • 国内知名人工智能AI大模型专家培训讲师唐兴通讲授AI办公应用人工智能在营销与销售过程中如何应用数字化赋能
  • Android常用C++特性之std::swap