MySQL 中如何解决深度分页的问题?

深度分页问题是指当 LIMIT 偏移量较大时,MySQL查询性能显著下降。这是因为 MySQL 可能选择全表扫描而非索引扫描,当数量很大时,随着页数的增大,查询会变得越慢,数据库在理分页查询时需要跳过大量的数据,导致查询效率低下。
优化思路:

优化查询语句

通过筛选条件来限制查询的范围,以此来减少查询到的数据量大小,故可以通过优化查询语句,细化查询的粒度,尽可能多的查询到与业务相关性高的数据,减少查询到的数据量

基于索引进行分页

可以通过主键或索引字段进行分页,避免数据库扫描大量不需要的记录,通过添加查询条件走索引来查询,可以提高搜索的性能限制分页深度,避免过度的分页,因为分的页面越大,内容相关度就会越低,因此页面太大对业务价5值不高,比如最多就分100页,因为在实际业务场景中,用户一般不会查询到很深的页,比如淘宝查询某件商品,用户最多翻100页就完成了业务,因此不用分太多的页。使用 Elasticsearch搜索引擎来进一步的优化

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mar1f

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值