tispark升级到新版本后查询反而变慢

老的大数据架构
tidb5.4+tispark 2.3
广播这样的


新的大数据架构
tidb7.1.6+tispark 3.2.0

同样的数据两张小表jioin,新版本没有走广播计划,导致很慢,有地方可以配置强制走广播么

在doris,starrocks,select里面是使用 [ broadcast ] 来HINT执行计划的。。
可以参考这里:https://docs.pingcap.com/zh/tidb/stable/optimizer-hints

tispark用的就是spark的catalyst引擎来生成执行计划的。

这块的执行计划的选择大概率不是tispark造成的,应该和catalyst实现有些关系。

你可以阅读一下这个文章。尝试调大spark.sql.autoBroadcastJoinThreshold的值,看看是否能让join的方式发生变化。

hint对业务入侵太大了,非广播的方式比广播慢10倍,想知道是否有地方统一调整

可以试试这种方式:https://docs.pingcap.com/zh/tidb/v7.1/use-tispark-to-read-tiflash/#使用-tispark-读取-tiflash

已解决,原因是tispark执行前会拉一次执行计划做分析,去掉plan_auto_load

1 个赞