关于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 小时前
JAVA后端用户登录与鉴权详解
java·数据库·sql
Hello.Reader3 小时前
Flink 2.2 Docker 部署Session / Application / SQL Client 一把梭(含 Compose、插件、连接器与踩坑点)
sql·docker·flink
2601_949575864 小时前
Flutter for OpenHarmony二手物品置换App实战 - 列表性能优化实现
flutter·性能优化
xuekai200809015 小时前
GaussDB-SQL优化案例
数据库·sql·gaussdb
国科安芯5 小时前
永磁同步电机驱动控制系统中MCU的抗干扰设计
单片机·嵌入式硬件·性能优化·架构·安全性测试
海星船长丶7 小时前
预编译与sql注入,正则回溯绕过,mysql常见绕过,报错注入7大常用函数
服务器·数据库·sql·mysql·网络安全
Mikhail_G7 小时前
Mysql数据库操作指南——数据库(零基础篇)
大数据·数据库·sql·mysql·数据分析
独泪了无痕8 小时前
SQL数据类型转换:CAST详解及实践
数据库·sql·oracle
ujainu8 小时前
Flutter + OpenHarmony 垂直列表:ListView 组件在手机上的性能优化实践
flutter·智能手机·性能优化
l1t8 小时前
修改德哥的PostgreSQL求解数独SQL在cedardb上运行
数据库·sql·postgresql·cedardb