简介
本文介绍如何优化MySQL的大表的分页查询。
问题描述
在分页查询时,分页页数越大,查询速度越慢。
比如:测试起始页不断增加查看SQL的执行时间:
mysql> SELECT * FROM `t_user` LIMIT 10000,10 ; mysql> SELECT * FROM `t_user` LIMIT 100000,10 ; mysql> SELECT * FROM `t_user` LIMIT 1000000,10 ; mysql> SELECT * FROM `t_user` LIMIT 5000000,10 ;
结果:
mysql> SHOW PROFILES; +----------+-------------+-------------------------------------+ | Query_ID | Duration | Query | +----------+-------------+-------------------------------------+ | 1 | 0.00861825 | SELECT * FROM `t_user` LIMIT 10000,10 | | 2 | 0.68741175 | SELECT * FROM `t_user` LIMIT 100000,10 | | 3 | 5.62566875 | SELECT * FROM `t_user` LIMIT 1000000,10 | | 4 | 18.33333200 | SELECT * FROM `t_user` LIMIT 5000000,10 | +----------+-------------+-------------------------------------+
可以看到,随着起始位置的增加,查询时间也不断增加。
此内容仅限VIP查看,请先登录
请先
!