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

相关推荐
gjc5922 小时前
如何写好SQL:企业内训文档
数据库·sql
皙然3 小时前
大型系统构建与性能优化:从架构设计到落地实战的全链路解析
性能优化
代码派4 小时前
SQL 审核解决了部分问题,另一部分是慢 SQL 治理
数据库·sql·mysql·数据库管理工具·ninedata·sql审核·sql治理
qq_366086224 小时前
MyBatis 动态 SQL 高频性能优化方案
sql·性能优化·mybatis
独隅4 小时前
PyTorch 模型性能优化全面指南
人工智能·pytorch·性能优化
不会编程的崽5 小时前
ShowCtf Web14 --不会编程的崽
sql·web
麦聪聊数据5 小时前
基于 SQL2API 架构快速发布 RESTful 接口
数据库·后端·sql·低代码·restful
Juicedata6 小时前
ARM 架构 JuiceFS 性能优化:基于 MLPerf 的实践与调优
arm开发·性能优化·架构
小陈工6 小时前
Python后端实战:GraphQL高级应用与性能优化全解析
开发语言·人工智能·后端·python·性能优化·开源·graphql
麦聪聊数据7 小时前
从“手动跑数”到“数据超市”,企业内部 API 权限管控与双轨分发架构解析
数据库·sql·低代码·restful