当前位置: 首页 > java >正文

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

http://www.xdnf.cn/news/7831.html

相关文章:

  • 【Vue3】一文学会动态路由和编程式路由的使用
  • 前端excel表格解析为json,并模仿excel显示
  • Flink 核心概念解析:流数据、并行处理与状态
  • Flink-Yarn运行模式
  • Java异常处理全解析:从基础到自定义
  • COMPUTEX 2025 | 广和通率先发布基于MediaTek T930 平台的5G模组FG390
  • 集星云推“碰一碰源码”开发思路解析
  • 【神经网络与深度学习】流模型的通俗易懂的原理
  • 鸿蒙开发——8.wrapBuilder 封装全局@Builder的高阶用法
  • 离线服务器Python环境配置指南
  • LangChain入门
  • 专业 YouTube SEO 方案:打造高排名视频的关键步骤
  • 【容易坑】mybatis中使用if标签比较两个字符串是否相等
  • SpringBoot微服务编写Dockerfile流程及问题汇总
  • Burp Suite返回中文乱码?
  • 使用 Spring AI Alibaba 集成阿里云百炼大模型应用
  • 计算机网络学习(一)—— OSI vs TCP/IP网络模型
  • 在局域网(LAN)中查看设备的 IP 地址
  • 网络:如何通过已知的电脑的机器名(计算机名),获取ip地址
  • C++线程池实现
  • jenkins数据备份
  • 程序代码篇---Python处理ESP32-S3-cam视频流
  • ROS2学习(8)------ROS2 服务说明
  • ubuntu 搭建FTP服务,接收部标机历史音视频上报服务器
  • 线性表数据结构-堆栈
  • 网络安全之APP渗透测试总结
  • Vue3 组件之间传值
  • React深度解析:Hooks体系与Redux Toolkit现代状态管理实践
  • linux 学习之位图(bitmap)数据结构
  • 宝塔安装的 MySQL 无法连接的情况及解决方案