Java相关八股学习记录1

深分页如何优化?
导致性能瓶颈原因:
MySQL 使用 limit offset, size 做深分页时(如 limit 100000, 20),会先扫描并丢弃前 100000 条数据,只取最后 20 条,数据量越大、offset 越大,性能越差,IO 和 CPU 都会被打爆。
解决:
1. 优化优先用主键 ID 范围查询,记录上一页最后一条 ID,直接 where id > 上一页最后一条id 避免深分页,充分利用聚簇索引;(缺点:不适合跳多页,适合上下页切换)
2. 如果需要实现跳页可以用延迟关联,先用子查询查主键再关联回表;
3. 合理使用覆盖索引避免回表;
4. 超大数据量直接用 ElasticSearch 替代 MySQL 做分页。

#发面经攒人品#
全部评论

相关推荐

评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务