关于sql 查询性能优化的小经验

最近接到一些sql优化的任务。数据库类型:DB2

有一个长sql查询效率低,大概要几十秒,大概查询逻辑如下:

select * from tableA a where exists (select 1 from tableB b where a.id=b.id )

or exists (select 1 from tableC c where a.id=c.id );

tableA ,tableB ,tableC都是大表,数据量大,最终执行时间要几十秒,

但是把or 条件改成 union all 却可以大大提升执行效率,时间降到几秒:

select * from tableA a where exists (select 1 from tableB b where a.id=b.id )

union all

select * from tableA a where exists (select 1 from tableC c where a.id=c.id );

小结:union all 替换 or 条件, 有时候可以提高查询效率。

相关推荐
几度风雨见丹心21 分钟前
sqlite图形化界面建数据库、建表、增删改查、选择.db文件、将sql脚本一键导入,并同步数据、一键导出sql脚本并保存本地.sql文件
数据库·sql·sqlite
·云扬·23 分钟前
MySQL排序与分组性能优化:从原理到实践
android·mysql·性能优化
Hello.Reader29 分钟前
Flink Procedures 用 SQL 的 `CALL` 跑 Flink Job(实现、类型推断、命名参数、Catalog 集成一篇搞懂)
大数据·sql·flink
刘冲溟1 小时前
解决 idea 编辑sql文件换行后自动缩进的问题
sql·idea·缩进
写代码的小阿帆1 小时前
MySQL索引原理与性能优化
数据库·mysql·性能优化
是阿威啊1 小时前
企业级的RDD、 Spark SQL、DataFrame、Dataset使用场景介绍
大数据·sql·spark
一只会奔跑的小橙子2 小时前
性能测试中关于硬件环境的测试
性能优化
IvanCodes2 小时前
openGauss 高级特性:优化器、存储引擎与分区管理
数据库·sql·opengauss
DemonAvenger2 小时前
Redis主从复制原理与实战:构建高可用缓存架构
数据库·redis·性能优化
卜锦元2 小时前
Golang后端性能优化手册(第一章:数据库性能优化)
大数据·开发语言·数据库·人工智能·后端·性能优化·golang