tidb 查询 Limit 10 为啥用时1分30秒?

这个问题大概定位到原因了, 这个表其实就20多万数据,是数仓的小时任务,他们每小时delete一次全表, tidb 有mvcc机制,导致有很多历史版本的存在。 每12小时做一次GC。也就是每条记录 大概12个历史版本数据。 查询limit 10;这种会去扫描历史版本 数据吗? 我重建了一个表,把数据灌进去, limit 10 ; 0.06s 就出来了。 我理解查询数据 对删除的所有版本 都扫描了。 原理大家帮忙解释一下。

1 个赞