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

相关推荐
玄同7652 小时前
深入理解 SQLAlchemy 的 relationship:让 ORM 关联像 Python 对象一样简单
人工智能·python·sql·conda·fastapi·pip·sqlalchemy
酉鬼女又兒2 小时前
SQL21 浙江大学用户题目回答情况
数据库·sql·mysql
卓码软件测评3 小时前
第三方CNAS/CMA软件测试测评机构【LoadRunner的JSON和XML响应数据的关联和处理技巧】
测试工具·ci/cd·性能优化·单元测试·测试用例
KIN_DIN3 小时前
SQL 查询最新的一条记录
数据库·sql
Thomas_YXQ8 小时前
Unity3D中提升AssetBundle加载速度的详细指南
java·spring boot·spring·unity·性能优化·游戏引擎·游戏开发
像豆芽一样优秀8 小时前
深入理解与应用SQL递归CTE处理层级数据
大数据·hive·sql
上海云盾-小余9 小时前
WAF性能优化:如何平衡安全防护与网站访问速度?
网络·安全·性能优化
EndingCoder9 小时前
性能优化:类型系统的最佳实践
linux·前端·javascript·ubuntu·性能优化·typescript
Knight_AL9 小时前
掌握 SQL 窗口函数:分组、排名与最新记录获取的最佳实践
数据库·sql·mysql·oracle
what丶k10 小时前
SQL三大核心查询语法(WHERE/ORDER BY/GROUP BY)综合运用指南
大数据·数据库·sql·mysql·面试