同样的sql在DBeaver里执行的sql计划和java生成的执行计划不一致

SHOW GLOBAL VARIABLES LIKE ‘%tidb_partition_prune_mode%’;
SHOW SESSION VARIABLES LIKE ‘%tidb_partition_prune_mode%’;
SHOW GLOBAL VARIABLES LIKE ‘%tidb_allow_mpp%’;
SHOW SESSION VARIABLES LIKE ‘%tidb_allow_mpp%’;
SHOW SESSION VARIABLES LIKE ‘%tidb_enforce_mpp%’;
看下这些参数的配置
不行在java的连接配置中设置下tidb_enforce_mpp=on,强制走mpp呢


代码里我们也设置过,都是走cop[tiflash], dashboard里就没有看到有sql走mpp[tiflash]的,放到dbeaver或者mysql控制台执行,都走mpp[tiflash]。

java里面的会话的这俩参数看过吗?
SHOW SESSION VARIABLES LIKE ‘%tidb_partition_prune_mode%’;
SHOW SESSION VARIABLES LIKE ‘%tidb_allow_mpp%’;

这两个参数,全局都是dynamic和on的,java客户端没打印

dbeaver里执行sql会默认加limit的,是不是这个导致的。

不是的,这个去掉也一样走mpp[tiflash],在控制台通过mysql命令登录,同样也走mpp[tiflash]


global stats有数据的,为啥老报这个错误?是不是这个原因导致不走mpp。dashboard里就没有sql走mpp[tiflash]的,都是走cop[tiflash]。按道理加limit限制的话,更容易走cop[tiflash]吧?

参考这个看看

信息是没hang住,有最近更新时间的。就算hang住的话,应该月使用旧的统计信息吧?

DBeaver 连接pgsql 经常没有显示全部库,不知道什么原因,用navicat就没这个问题

  • 修复并发合并分区表的全局统计信息时可能遇到报错的问题 #48713 @hawkingrei

https://docs.pingcap.com/zh/tidb/v7.1/release-7.1.4/

应该是个bug。导致动态分区裁剪被卡住,然后mpp模式有需要动态分区裁剪,就导致你描述的这个问题。

建议升级到7.1.4.

2 个赞

多谢多谢

explain analyze

这个我遇到过,连接上右键,然后选连接视图,勾选显示系统对象。