分页性能问题

Blade 未结 1 880
2363830288
2363830288 剑圣 2021-01-29 09:22

一、该问题的重现步骤是什么?

    数据超过二十万以上  越往后分页就越慢  有没有优化得方案  我的单表数据量在一千万左右


二、你期待的结果是什么?实际看到的又是什么?


三、你正在使用的是什么产品,什么版本?在什么操作系统上?


四、请提供详细的错误堆栈信息,这很重要。


五、若有更多详细信息,请在下面提供。

1条回答
  • 2021-01-29 09:39

    首先,分页这种事本来就是越往后越慢。

    就算google、baidu这种体量的大公司也没有解决。搜索引擎顶多也就给你分到100页左右。


    其次回到你的问题。数据库单表1000w了,没有分表吗?200-300w就应该考虑分表了。

    为了应急,我们先不讨论分表。


    看看你的分页sql语句,查询条件有没有索引,索引是怎么加的

    模糊查询like  尽量  只在后面加%,不要在前面加%

    使用explain 分析sql语句,看看是哪一步性能不好


    分页还有一个大的性能消耗就是count,他是比较耗时的。在数据量很大的情况下,count有点误差其实是无所谓的。可以自己改造一下,关闭mybatis分页的自动count,你可以count一次,把结果存到redis,然后定期去更新count的大小。就可以省掉count的时间。

    0 讨论(1)
提交回复