DESC 排序语句 limit 没有下推

【TiDB 版本】
v4.0.8

【问题描述】
全表共 2600w数据,在执行sql语句 desc时发现limit没有下推,直接有200w数据放到了tidb-server进行排序处理,导致sql超过1s,去除desc后可以正常下推。以下为sql表结构与执行计划文件

tidb-no-limit.json (9.1 KB)

1 个赞

麻烦收集下统计信息,再反馈一次执行计划,多谢。

metric.json (8.3 KB) explan.json (1.9 KB)

[问题现象]
sql 使用 desc limit 没有下推

[问题原因]
这个是由于统计信息目前没有收集列与列之间的相关性导致的

[解决方案]
可以由未来添加的 extended statistics https://github.com/pingcap/docs-cn/pull/4669 解决
https://github.com/pingcap/tidb/issues/18330 看起来应该在 v5.0 有可能实现

感谢您的回复

:handshake:


您好,升级到5.0.1算子还是没有下推

这个PR还没有合并。

刚发布的V5.1.0里实现了么?

请问哪个版本会被合并呢?

您在测试环境试试 v5.1 ,看看是否可行,多谢。