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

相关推荐
这个DBA有点耶8 小时前
SQL调优进阶:从“优化一条SQL”到“优化一个系统”的思维升级
java·大数据·数据库·sql·程序人生·dba·改行学it
IvorySQL8 小时前
PG 日报|SQL/PGQ 图查询基于联接重写机制实现
数据库·人工智能·sql·postgresql·区块链·ivorysql
丁小未10 小时前
Unity 极致高效的IM设计方案教程
unity·性能优化·游戏引擎·im
SelectDB13 小时前
快手从 ClickHouse 到 Apache Doris 的百 PB 数据、200+集群迁移实践
数据库·性能优化·开源
你有我备注吗15 小时前
SQL学习之查询
java·sql·学习
G.O.G.O.G17 小时前
LeetCode SQL 从入门到精通(MySQL)05(下)
数据库·sql·oracle
Ashley的成长之路17 小时前
前端性能优化实战手册·第1篇:从 Lighthouse 60 到 95 的完整路径
前端·性能优化
G.O.G.O.G20 小时前
《LeetCode SQL 从入门到精通(MySQL)》09
sql·mysql·leetcode
Csvn1 天前
Day 3:LIKE 与模式匹配 — 让查询学会"模糊搜索"
后端·sql
Devlive 开源社区2 天前
Nebula 1.6.0 发布:跨区域桶自动路由、秒传、文本/PDF 预览一次到位
数据库·sql