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

表结构: 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 。