关于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 条件, 有时候可以提高查询效率。

相关推荐
lang201509287 分钟前
Jackson 1.x到2.x的演进与Spring集成
数据库·sql·spring
码农幻想梦1 小时前
实验四 mybatis动态sql及逆向工程
sql·性能优化·mybatis
!chen3 小时前
大数据技术领域发展与Spark的性能优化
大数据·性能优化·spark
笃行客从不躺平3 小时前
PG SQL 行转列记录
数据库·sql
知识分享小能手3 小时前
Oracle 19c入门学习教程,从入门到精通,PL/SQL 编程详解:语法、使用方法与综合案例(6)
sql·学习·oracle
小园子的小菜3 小时前
接口性能优化实战:5大策略+落地案例
性能优化
Ulyanov4 小时前
大规模战场数据与推演:性能优化与多视图布局实战
开发语言·python·性能优化·tkinter·pyvista·gui开发
晓风残月淡4 小时前
高性能MYSQL(四):查询性能优化
数据库·mysql·性能优化
郝学胜-神的一滴4 小时前
机器学习数据预处理:归一化与sklearn的MinMaxScaler详解
人工智能·python·程序人生·机器学习·性能优化·sklearn
山峰哥4 小时前
SQL调优实战:让查询效率飙升10倍的降本密码
服务器·前端·数据库·sql·编辑器·深度优先