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

相关推荐
风中芦苇啊2 小时前
从直接生成到受控配置:新一代图表Agent的SQL安全生成范式
数据库·sql·安全
吴声子夜歌2 小时前
SQL进阶——窗口函数
数据库·sql
这是个栗子3 小时前
【前端性能优化】优化数据加载:用 Promise.all 从串行到并行
前端·javascript·性能优化·异步编程·前端优化·promise.all
AI服务老曹5 小时前
国产NPU视觉算法参数配置说明
算法·性能优化·边缘计算
大数据005 小时前
画像标签系统性能优化:SelectDB 字符串解析函数实战与 Profile 深度剖析
性能优化·doris·selectdb·画像标签
ClouGence6 小时前
SQL Server CDC 如何降低主库压力?Always On 备库读取实践
数据库·后端·sql·sqlserver
工业HMI实战笔记6 小时前
工业HMI界面布局“1核2辅”黄金结构,适配90%场景
前端·ui·性能优化·自动化·交互
吴声子夜歌9 小时前
SQL进阶——自连接
数据库·sql
ai产品老杨9 小时前
多路摄像头AI分析性能优化指南
人工智能·性能优化
云贝教育-郑老师9 小时前
TDSQL(MySQL版)分布式事务实现机制深度解析:从两阶段提交到全局一致性读
数据库·sql