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

相关推荐
@游子12 小时前
SQL注入之文件读写(四)
android·数据库·sql
7***477112 小时前
【SQL】掌握SQL查询技巧:数据分组与排序
java·jvm·sql
2***635512 小时前
SQL常用语句(基础)大全
数据库·sql·oracle
ITMr.罗12 小时前
ORM会不会刷关联属性
数据库·sql·oracle
f***65113 小时前
SQL中的REGEXP正则表达式使用指南
数据库·sql·正则表达式
ironinfo13 小时前
C#性能优化随记
开发语言·性能优化·c#
长河13 小时前
Record-API 性能优化实战:从“锁”到“快”的深度治理
数据库·性能优化
o***111413 小时前
智能生成ER图工具。使用 SQL 生成 ER 图:让数据库设计更高效
数据库·sql·oracle
拾忆,想起13 小时前
Dubbo序列化方式全解析:从原理到实战的性能优化指南
服务器·网络·微服务·性能优化·架构·dubbo
灵犀坠14 小时前
前端知识体系全景:从跨域到性能优化的核心要点解析
前端·javascript·vue.js·性能优化·uni-app·vue