SQL优化| IS NOT NULL 优化与 NOT NULL 查询慢优化

news/2025/1/3 16:31:24/文章来源:https://www.cnblogs.com/ketoli/p/18644561

在SQL查询时,SQL语句中由于使用了 IS NOT NULL ,导致查询时间过长,数据表有180W条数据,查询的字段上已经有普通索引,我们使用简单的sql查询这个cfErpPayNumber 不是空的记录,耗时需要1843ms,这是非常头疼的,

 

 查看执行计划,是全表扫描

这里为了加快查询效率,我们需要加入函数索引,  

函数索引是Oracle数据库中的一种特殊类型的索引,它允许基于表达式或函数的结果创建索引。与传统的基于列的索引不同,函数索引可以包含对列执行的操作结果,例如大写转换、数学计算或其他复杂的表达式。
主要特点:
1、提高查询性能:通过在查询中使用函数索引,可以显著提高涉及复杂表达式的查询性能。
2、支持复杂表达式:可以在索引中包含对列的函数调用或表达式,而不仅仅是列本身。
3、透明性:对于应用程序来说,函数索引的存在是透明的,即不需要修改查询语句来利用这些索

这里我们加入一个函数索引后再去查询,仅仅耗时 34 ms,相比原来的1800ms提升相当大,

查看执行计划,可以看到走的是我们刚才创建的函数索引

 

NVL2(表达式1,表达式2,表达式3)
如果表达式1为空,返回值为表达式3的值。如果表达式1不为空,返回值为表达式2的值。
例如 NVL2(comm,'sal+comm',sal)
NVL2函数测试comm
如果comm为空,就返回sal 的值。如果 comm 不为空(null),就返回表达式 sal+comm的值。

如果我们希望用普通的字段查,也可以继续加普通的索引

 


 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/861995.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【分布式存储】HDFS

https://hadoop.apache.org/docs/r1.0.4/cn/hdfs_design.htmlHDFS(Hadoop Distributed File System )Hadoop分布式文件系统。是根据google发表的论文翻版的。论文为GFS(Google File System)Google 文件系统 设计前提和目标: 硬件错误、 流式数据访问、 大规模数据集:运行…

QT程序监控不到拖拽事件如dragEnterEvent - Windows权限问题的解决方案

问题:当客户端已高完整性启动(例如启动客户端的进程是Bypass UAC启动的高完整性的进程,导致客户端继承了其高完整性),由于explorer.exe资源管理器是以中等Medium权限启动,客户端的权限较高,导致设置了qt编写的客户端设置了的setAcceptDrops(true)后依然无法触发dropEven…

Podman 安装 harbor

详细描述了在Debian系统上使用Podman部署Harbor的步骤。它包括安装Podman、创建专用网络、下载并加载Harbor镜像,接着依次部署Redis、PostgreSQL、Registry、Portal、JobService、Registryctl、Harbor核心服务和Nginx等组件,最后通过一系列命令检查部署状态并验证服务是否正常…

Linux 统计活跃线程和线程数

使用Linux命令ps -eT动态查看进程中,以指定字符串打头的活跃线程和线程数。摘要:使用Linux命令ps -eT动态查看进程中,以指定字符串打头的活跃线程和线程数。 动态查看进程的线程数及活跃线程数 实现方案在Linux系统中,可以使用以下命令来动态查看进程中名字包含“keyword”…

win平台运行smallpt

smallpt: Global Illumination in 99 lines of C++ 首先在win平台需要添加函数erand48,修改为main函数,其中的samps是每个像素的采样率,越大越慢修改后 #include <math.h> // smallpt, a Path Tracer by Kevin Beason, 2008 #include <stdlib.h> // Make : g+…

对Sentinel的链路分析与客户端服务端交互理解

Sentinel介绍 略 https://sentinelguard.io/zh-cn/ https://github.com/alibaba/Sentinel https://sentinelguard.io/zh-cn/docs/quick-start.html https://github.com/alibaba/Sentinel/wiki/Sentinel-核心类解析 Sentinel定义的术语 Entry: 表示对某个资源的访问请求,通过 S…

手写 k近邻 与 全连接神经网络 算法

KNN(K-近邻算法) K-近邻算法的介绍 参考: https://blog.csdn.net/weixin_39910711/article/details/114440816 手写knn算法,实现mnist的图片数字识别 # 手动 实现knn import io from struct import pack,unpack import random from PIL import Image import time import nump…

jmeter参数化取数机制

场景:参数化文件中只有3个账户 并发数设置的是4 执行一次,如何取值当参数化文件中所有值全部取完后,又会从头开始取值(如图所示,只有三个账户,并发数为4,第1个线程取值和第4个线程取值相同) 如果是一个线程,循环(迭代)4次,取值同上面一致

甲子光年智库发布《中国 AI 算力行业发展报告》

12月30日,甲子光年智库正式发布《中国AI算力行业发展报告》。中昊芯英受邀参与了该报告的编写工作,并为报告的编写贡献了专业的见解和实践经验。12 月 30 日,备受业界关注的《中国 AI 算力行业发展报告》(以下简称「报告」)由甲子光年智库正式发布。该报告为行业内外提供了…

盘点!2024年航空航天大事件

​2024年,航空航天领域再次迎来了丰硕成果。这一年,不仅见证了中国航空航天技术的飞速发展,也目睹了其他国家在航空航天探索中的持续突破。从嫦娥六号完成世界首次月球背面自动采样返回,到SpaceX星舰实现“筷子夹火箭”奇景,航空航天领域呈现出前所未有的活力和创造力。低…

谷歌浏览器json插件

1.下载插件 https://www.baidufe.com/fehelper/index/index.html 2.添加插件 浏览里里打开路径:chrome://extensions/3.将下载好的插件托拽到浏览器里即可 4.效果