tidb 5.4.0-sql卡住

【 TiDB 使用环境】生产环境 /测试/ Poc
【 TiDB 版本】5.4.0
【遇到的问题】
sql运行一次没问题,2秒出结果,但是运行多次就会卡住,,表的数据量不大,最大表不超过1百万,如下图

生产环境卡住的sql运行已经300多万秒了

【复现路径】做过哪些操作出现的问题

【问题现象及影响】
sql卡住,页面查询不出来

【附件】

请提供各个组件的 version 信息,如 cdc/tikv,可通过执行 cdc version/tikv-server --version 获取。

经测试,5.4.2也有这个问题
sql中包含right join和left join,第一次limit分页查询没问题,第二次就会卡住

trace 后面接你的sql语句,把第二次执行的结果发上来看看。

执行不出来,直接卡死

直接使用 analyze 看下执行计划吧。

explain 没有真实执行,只是查看执行计划而已,explain analyze 是真实执行同时查看执行计划。

explain analyze执行第一次就卡死了

好像还是在解析的时候卡住了

你直接analyze 把执行计划发出来看下,应该是执行计划不行。

真正执行sql的时候,第一次是很快的,秒出,第二次就会卡住,一个多月没查出来,如果执行计划不行,就算慢些,也会出结果,目前的情况是第二次执行直接卡住了,不出结果

这是执行计划

统计信息收集下呢

老兄,抓取下goroutine看下,抓取方式:
curl http://<执行SQL语句的TiDB节点IP>:10080/debug/pprof/goroutine?debug=2 >goroutines.txt

然后上传看看。

goroutines.txt (1.7 MB)

这个是我执行sql卡住,然后抓的,帮忙看看,辛苦

发现我执行卡住的sql的结尾是 limit 32000,4000,而show full processlist里sql的结尾是 limit28000,4000

analyze试了不行

这是个BUG,参考:https://github.com/pingcap/tidb/issues/35638
5.4.3修复,建议打补丁升级。

代码问题吧