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

相关推荐
Yan_chen6661 小时前
CTFHub SQL 布尔盲注实战攻略
数据库·sql·实战·布尔盲注·ctfhub闯关
Csvn2 小时前
📊 SQL 入门 Day 16:数据插入技巧
后端·sql
vHelios3 小时前
【电商项目】商品服务模块的问题解决与代码逻辑思考
java·sql·mybatis
正在走向自律3 小时前
【金仓数据库征文】从 MySQL 迁移到金仓数据库:哈工大智能造价项目的一次信创改造实践
数据库·mysql·性能优化·国产数据库·数据库迁移·信创适配·金仓数据库征文
lvv18 小时前
不会被渲染的组件,为什么让我的首屏白屏了?(一次前端问题总结)
前端·webpack·性能优化
烬羽18 小时前
《memo 明明加了,为什么子组件还是渲染了?》
react.js·性能优化·全栈
让头发掉下来1 天前
Flink SQL 中两个频繁变化 Topic 的 Join 行为分析
大数据·数据库·sql·flink
vHelios1 天前
【电商项目】测试 授权功能 遇到的问题与解决方案
java·spring boot·sql
张龙6871 天前
Node.js 内存泄漏排查实战:从内存曲线到堆快照,一条可复用的定位路径
性能优化·node.js
johnny2331 天前
用SQL查MQ:Trino、PGMQ、KsqlDB、Proton、OpenLooKeng、KarelDB
sql