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

相关推荐
洛克大航海19 小时前
解锁 PySpark SQL 的强大功能:有关 App Store 数据的端到端教程
linux·数据库·sql·pyspark sql
冴羽20 小时前
10 个被严重低估的 JS 特性,直接少写 500 行代码
前端·javascript·性能优化
IT 小阿姨(数据库)1 天前
PostgreSQL pg_stat_bgwriter 视图各个字段详解
linux·数据库·sql·postgresql·centos
呆呆小金人1 天前
SQL键类型详解:超键到外键全解析
大数据·数据库·数据仓库·sql·数据库开发·etl·etl工程师
下一站丶1 天前
【JavaScript性能优化实战】
开发语言·javascript·性能优化
阿波罗尼亚1 天前
查询修正字段sql记录
数据库·sql·mysql
inBuilder低代码平台1 天前
Electron应用优化与性能调优策略
javascript·性能优化·electron
猫猫姐姐1 天前
Flink 2.1 SQL:解锁实时数据与AI集成,实现可扩展流处理
大数据·人工智能·sql·flink
PawSQL1 天前
企业级SQL审核优化工具 PawSQL 介绍(3)- 审核工单管理
数据库·sql·pawsql·sql审核
Moe4881 天前
CompletableFuture方法大全和使用详解(一步到位)
java·性能优化