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

【OceanBase 诊断调优】—— SQL 查询触发笛卡尔积怎么处理

问题现象

业务从 MySQL 迁移至 OceanBase 数据库 V4.3.5 BP2 版本 MySQL 模式下,SQL 查询不出结果,用 EXPLAIN EXTENDED 命令展示执行计划信息。

image01

输出返回结果如下:

image02

由上执行计划信息可知存在笛卡尔积。

问题原因

默认的计划不优原因是优化器默认把子查询延后计划,导致先做笛卡尔积的数据量非常大。

适用版本

OceanBase 数据库 V4.x 版本。

解决方法

OceanBase 数据库 V4.3.5 BP2 版本已优化的一个功能,优化之后这个场景也是需要通过 Hint 干预计划的,目前只在有限的场景做了自动下压。

在子查询内加 Hint /*+PUSH_SUBQ*/

image03

添加完 Hint 以后的执行计划输出返回结果如下:

image04

 

http://www.dtcms.com/a/269533.html

相关文章:

  • Rust BSS段原理与实践解析
  • 自动驾驶感知系统
  • OpenWebUI(4)源码学习-后端routers路由模块
  • Halcon 入门教程:卡尺工具(Measure)详解与实战应用
  • 采煤机:技术革新驱动下的全球市场格局与未来趋势
  • 无缝矩阵的音频合成与音频分离功能详解
  • 大数据在UI前端的应用深化:用户偏好的动态调整与个性化推荐
  • Next.js ISR 缓存机制与最佳实践教程
  • 论文略读; AdapterFusion:Non-Destructive Task Composition for Transfer Learning
  • Android中MVI架构详解
  • 875、爱吃香蕉的珂珂
  • 吃透二分法的模板解法(适合所有类似于二分的算法题)
  • 百度斩获大模型中标第一,股价上涨5%
  • 深度剖析:Ceph分布式存储系统架构
  • 实时开发IDE部署指南
  • Tomcat与IIS:核心差异及接口调用实战解析
  • paddlehub环境搭建和测试
  • 【PTA数据结构 | C语言版】在顺序表 list 的第 i 个位置上插入元素 x
  • C语言使用Protobuf进行网络通信
  • HTTP/3.0的连接迁移使用连接ID来标识连接为什么可以做到连接不会中断
  • 【论文阅读】基于 GAN 和深度迁移学习的频谱预测:一种跨带数据增强框架
  • 函数-1-字符串函数
  • Python文件操作(五分钟小白从入门到精通)
  • 微算法科技(NASDAQ MLGO)研究非标准量子预言机,拓展量子计算边界
  • 【QT】-隐式转换 explicit用法
  • linux常用管路命令
  • 【1-快速上手】
  • 部署并运行Spike-Driven-Transformer或QKFormer
  • 香港站群服务器与普通香港服务器对比
  • 算法设计与分析:分治、动态规划与贪心算法的异同与选择