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

相关推荐
todoitbo9 小时前
SQL Server数据库迁移:V9R4C019 如何接住存量 T-SQL 批处理
数据库·sql·国产数据库
写后端的胖头鱼9 小时前
【高频面试题】SQL 查询慢怎么排查
数据库·sql·mysql·oracle·慢查询·高频面试题
小程序设计10 小时前
基于SQL与漏斗模型的社群App优化研究
数据库·sql
风哥2号11 小时前
数据库教程FGMT17‑Oracle性能优化之故障诊断与性能优化
数据库·oracle·性能优化
SelectDB技术团队11 小时前
从 ClickHouse 迁移到 Doris:SQL 兼容、同步与验证清单
数据库·人工智能·sql·clickhouse·apache doris·selectdb·湖仓架构升级
leo_messi9411 小时前
Mysql学习(十二) -- SQL执行到底做了什么事?
sql·学习·mysql
Jay Kay12 小时前
昇腾 NPU 上手:ResNet-50 从 ONNX 到 OM 的完整踩坑记录
性能优化
babe小鑫12 小时前
精算学专业秋招:Excel、SQL、R和Python应该先练什么
sql·r语言·excel
2501_9336707920 小时前
2026秋招量化分析岗技能栈:Python、SQL、统计建模、回测项目怎么准备
开发语言·python·sql
天衍四九-21 小时前
MySQL中如何定位慢查询?如果SQL语句执行很慢,如何分析和优化?
数据库·sql·mysql