MySQL大数据量快速分页实现_MySQL
程序员文章站
2022-05-26 12:45:01
...
bitsCN.com
一般刚开始学SQL语句的时候,会这样写
代码如下:
SELECT * FROM table ORDER BY id LIMIT 1000, 10;
但在数据达到百万级的时候,这样写会慢死
代码如下:
SELECT * FROM table ORDER BY id LIMIT 1000000, 10;
也许耗费几十秒
网上很多优化的方法是这样的
代码如下:
SELECT * FROM table WHERE id >= (SELECT id FROM table LIMIT 1000000, 1) LIMIT 10;
是的,速度提升到0.x秒了,看样子还行了
可是,还不是完美的!
以下这句才是完美的!
代码如下:
SELECT * FROM table WHERE id BETWEEN 1000000 AND 1000010;
比上面那句,还要再快5至10倍
另外,如果需要查询 id 不是连续的一段,最佳的方法就是先找出 id ,然后用 in 查询
代码如下:
SELECT * FROM table WHERE id IN(10000, 100000, 1000000...);
来源:http://www.aichengxu.com/article/MySQL/1093_10.html
bitsCN.com推荐阅读
-
MySQL用limit方式实现分页的实例方法
-
默默小谈PHP&MYSQL分页原理及实现
-
mysql大数据量使用limit分页,随着页码的增大,查询效率越低下怎么办?
-
在项目中迁移MS SQLServer到Mysql数据库,实现MySQL数据库的快速整合
-
Shell下实现免密码快速登陆MySQL数据库的方法
-
nodeJS与MySQL实现分页数据以及倒序数据
-
如何快速扩展MySQL数据量? mysqlnosqlcassandramapreducemongodb
-
MySQL:分库、分表、排序、分页、分组、实现教程
-
MySQL分布式数据库架构:分库、分表、排序、分页、分组、实现教程
-
MySQL limit分页大偏移量慢的原因及优化方案