03.08 为什么MySQL在数据库较大的时候分页查询很慢,如何优化?

一叶知秋丿


使用合理的分页方式以提高分页的效率


正如楼主所说,分页查询在我们的实际应用中非常普遍,也是最容易出问题的查询场景。比如对于下面简单的语句,一般想到的办法是在name,age,register_time字段上创建复合索引。这样条件排序都能有效的利用到索引,性能迅速提升。

如上例子,当 LIMIT 子句变成 “LIMIT 100000, 50” 时,此时我们会发现,只取50条语句为何会变慢?


原因很简单,MySQL并不知道第 100000条记录从什么地方开始,即使有索引也需要从头计算一次,因此会感觉非常的慢。

通常,我们在做分页查询时,是可以获取上一页中的某个数据标志来缩小查询范围的,比如时间,可以将上一页的最大值时间作为查询条件的一部分,SQL可以优化为这样:


若对你有所帮助,欢迎点赞、关注支持哦。

软件测试开发技术栈


这个得明白mysql的存储原理 讲个例子 一个小区有很多栋 一栋有很多层 一层有很多室 你哪个小区哪一栋那一层都不告诉它 它能一下找到吗 虽然它也想快点帮你找到


分享到:


相關文章: