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

相关推荐
zhangxl-jc10 小时前
Doris 窗口函数之 LEAD 最佳实践
大数据·sql·数据分析
Yan.9711 小时前
SQLI靶场
sql
逍遥德12 小时前
如何提高代码可读性
java·开发语言·性能优化·intellij idea·代码规范
NineData12 小时前
NineData 新增支持 Azure SQL Database > PolarDB PostgreSQL
数据库·sql·azure·数据库管理工具·ninedata·数据库迁移·数据库迁移工具
山峰哥12 小时前
破解SQL性能瓶颈:索引优化核心策略
大数据·数据库·sql·oracle·编辑器·深度优先·数据库架构
严同学正在努力13 小时前
DataAgent:企业级智能数据分析师,Text-to-SQL+Python 分析 + 自动出报告一站式搞定(开源项目)
python·sql·ai·开源·bigdata
马猴烧酒.14 小时前
【智能协图云图库|第七天】 空间模块初始化
java·数据库·后端·sql·spring·tomcat
玄同76514 小时前
SQLAlchemy 模型定义完全指南:从基础到进阶的 ORM 实战
人工智能·python·sql·mysql·机器学习·自然语言处理·database
心枢AI研习社15 小时前
数据库系列1:给 AI 工程师的 SQL 入门(工程级理解版)
数据库·人工智能·sql
。puppy15 小时前
SQL 注入整理
数据库·sql·word