【TiDB 版本】
v4.0.8
【问题描述】
全表共 2600w数据,在执行sql语句 desc时发现limit没有下推,直接有200w数据放到了tidb-server进行排序处理,导致sql超过1s,去除desc后可以正常下推。以下为sql表结构与执行计划文件
tidb-no-limit.json (9.1 KB)
【TiDB 版本】
v4.0.8
【问题描述】
全表共 2600w数据,在执行sql语句 desc时发现limit没有下推,直接有200w数据放到了tidb-server进行排序处理,导致sql超过1s,去除desc后可以正常下推。以下为sql表结构与执行计划文件
tidb-no-limit.json (9.1 KB)
麻烦收集下统计信息,再反馈一次执行计划,多谢。
[问题现象]
sql 使用 desc limit 没有下推
[问题原因]
这个是由于统计信息目前没有收集列与列之间的相关性导致的
[解决方案]
可以由未来添加的 extended statistics https://github.com/pingcap/docs-cn/pull/4669 解决
https://github.com/pingcap/tidb/issues/18330 看起来应该在 v5.0 有可能实现
感谢您的回复
这个PR还没有合并。
刚发布的V5.1.0里实现了么?
请问哪个版本会被合并呢?
您在测试环境试试 v5.1 ,看看是否可行,多谢。