mybatis plus 分页_如何优化大表分页查询的Limit性能问题?

本文探讨了在大数据量下如何优化MyBatis Plus的分页查询性能,提出了将分页查询拆分为两部分,先获取主键再进行字段查询的方法,避免了全表扫描,并对一些不实用的优化方案进行了分析。同时,提出了利用内存缓存来改善分页查询的思路,引发对项目中分页解决方案的讨论。
摘要由CSDN通过智能技术生成
3872c897b075c564a061b83cbc380995.gif关注 “Java艺术”一起来充电吧!

完成需求,不只在于速度,更要考虑质量。在规定的时间内完成需求的情况下,如果还有时间,应当想一下还能怎么优化,从性能、代码可读性、可扩展性层面考虑。进步就是这样一点点积累的。

昨天写的那篇有点小失误,在此修正一下。其实mybatis-plus提供的优化器做得非常好,它不仅仅只是在优化后的sql之上加一层select count(1) from (原sql ) as total,而是直接优化为select count(1) from... where...,优化后的查询总数的sql性能更优。

但是limit的问题,mybatis-plus优化器是解决不的。如果表的数据量非常大,我们除了优化查询总数的sql之外,还是需要优化limit的。

我看到过很多文章介绍说通过id优化提升limit性能,他们所举的例子都是单表查询。之所以能只查单表,是因为表的设计上已经通过冗余字段去掉多表连接查询了,这也是值得推荐且主流的优化大表查询性能的做法。

通过在设计表的时候加上冗余字段,去

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值