同样的SQL,在OB和MySQL执行效率差异较大。

【 使用环境 】生产环境
【 OB 】
【 使用版本 】V4.2.1_CE
【问题描述】同样的SQL,在OB执行缓慢,无法跑出结果,而MySQL可在30分钟内处理完毕。
【复现路径】
SQL:
insert into tmp_final_2023
select
@m as mark_,
JSON_UNQUOTE(JSON_EXTRACT(json_data_, ‘$[",@m,"].key02’)) as key02,
JSON_UNQUOTE(JSON_EXTRACT(json_data_, ‘$[",@m,"].key03’)) as key03,
JSON_UNQUOTE(JSON_EXTRACT(json_data_, ‘$[",@m,"].key04’)) as key04
from tmp_2024
where JSON_UNQUOTE(JSON_EXTRACT(json_data_, ‘$[",@m,"].key01’))=‘0’
【附件及日志】
SQL其实比较简单,就是存储过程外层做了一个循环,内部一个一个遍历获取相关的key01=0的值,但是同样的SQL,在MySQL几分钟就处理好了,而OB跑了几个小时。

设置一下并行试试,参考:OceanBase分布式数据库-海量数据 笔笔算数