分页查询前面部分和后面部分时间相差有点大

表结构:
image
执行计划:
image
文字缩进 4 格
image

测试结果:

分页前面部分数据查询时间:
image

分页后面部分查询时间:
image

TIDB版本信息

Release Version: v2.1.8
Git Commit Hash: 9a2d2da372947a50a02f9b9238a49f2db7ab9971
Git Branch: HEAD
UTC Build Time: 2019-04-12 07:48:47
GoVersion: go version go1.11.2 linux/amd64
Race Enabled: false
TiKV Min Version: 2.1.0-alpha.1-ff3dd160846b7d1aed9079c389fc188f7f5ea13e
Check Table Before Drop: false

1 个赞

limit 对查询性能影响较大。分布式场景下,offset 很大的时候。 建议使用一些条件辅助一下分页,eg:order by

加上order by也没有多大作用,反而耗时更长

可以加 where 条件吗 ? 如果是随机取 10 条的话可以 select * from rd_cell where id > rand() limit 10; 通过添加 where 条件再 limit 。

此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。