有两个疑惑点想探讨一下,网上看了些资料没有太理解
为什么会有深度分页,网上文章说是 MySQL 的机制问题,为什么有索引的情况下不用索引,而要用 filesort,再怎么样 B 树也应该更快吧?
深度分页的一个优化点是通过记录上一次的主键位置来快速定位 offset,那在主键非自增的情况下,还有什么其他优化方式吗?
1
gy123 2021-01-31 11:45:43 +08:00 via iPhone 1
子查询 id 或者 id 有规律递增的情况下利用 id 判断,其他根据业务自定吧
|
2
Jooooooooo 2021-01-31 16:54:01 +08:00 1
大分页是难题, 没有完美解决方案, 只能从产品方案上去妥协 (比如没有一百万页可以查, 比如过久的记录是分开放的
(你会发现包括 google 在内的大厂也解决不了这个问题, 就放弃吧 |
3
allanzhuo 2021-01-31 18:11:44 +08:00
楼上两位大佬说的对
|
4
rekulas 2021-04-16 22:38:38 +08:00
可以自己维护一套连续 id 序列来优化
但是意义不大,深度分页并没有什么实际存在意义,至少目前来说我还没遇到过太有意义的场景 |