MySQL 查询之分页优化
2016-07-19 23:45
676 查看
<?php
/*
SELECT * FROM `tbl_user` limit 10,20; -- 20 rows in set (0.00 sec)
SELECT * FROM `tbl_user` limit 100,20; -- 20 rows in set (0.00 sec)
SELECT * FROM `tbl_user` limit 1000,20; -- 20 rows in set (0.00 sec)
SELECT * FROM `tbl_user` limit 10000,20; -- 20 rows in set (0.01 sec)
SELECT * FROM `tbl_user` limit 100000,20; -- 20 rows in set (0.06 sec)
SELECT * FROM `tbl_user` limit 1000000,20; -- 20 rows in set (0.37 sec)
SELECT * FROM `tbl_user` limit 1900000,20; -- 20 rows in set (0.69 sec)
优化:利用覆盖索引
(1)条件查询:id>=
SELECT id FROM tbl_user limit 1900000,1; -- 20 rows in set (0.40 sec) => 1900001
SELECT * FROM `tbl_user` WHERE id>= (SELECT id FROM tbl_user limit 1900000,1) limit 20; --20 rows in set (0.41 sec)
(2)联接:join
SELECT * FROM tbl_user a JOIN (SELECT id FROM tbl_user limit 1900000,20) b ON a.id=b.id; ----20 rows in set (0.38 sec)
/*
SELECT * FROM `tbl_user` limit 10,20; -- 20 rows in set (0.00 sec)
SELECT * FROM `tbl_user` limit 100,20; -- 20 rows in set (0.00 sec)
SELECT * FROM `tbl_user` limit 1000,20; -- 20 rows in set (0.00 sec)
SELECT * FROM `tbl_user` limit 10000,20; -- 20 rows in set (0.01 sec)
SELECT * FROM `tbl_user` limit 100000,20; -- 20 rows in set (0.06 sec)
SELECT * FROM `tbl_user` limit 1000000,20; -- 20 rows in set (0.37 sec)
SELECT * FROM `tbl_user` limit 1900000,20; -- 20 rows in set (0.69 sec)
优化:利用覆盖索引
(1)条件查询:id>=
SELECT id FROM tbl_user limit 1900000,1; -- 20 rows in set (0.40 sec) => 1900001
SELECT * FROM `tbl_user` WHERE id>= (SELECT id FROM tbl_user limit 1900000,1) limit 20; --20 rows in set (0.41 sec)
(2)联接:join
SELECT * FROM tbl_user a JOIN (SELECT id FROM tbl_user limit 1900000,20) b ON a.id=b.id; ----20 rows in set (0.38 sec)
相关文章推荐
- 开源团队协作平台, 免费企业IM, ENTBOOST, Windows环境MySQL版本安装
- mysql5.7版本root密码的问题
- MYSQL获取昨天的0点和今天的0点
- mysql插入中文 解决方案
- mysql调优
- MySQL读书笔记-MVCC多版本并发控制
- mac os10.11下安装MySQLdb
- mysql事务
- MySQL语句
- mysql存储新闻文字图片的字段类型
- windows 忘记MySQL5.6的root密码 ,修改密码的方法
- mysql到pandas记录
- MySQL重置root用户密码的方法
- mysql字符集
- Mysql数据存储乱码
- MYSQL基础笔记(五)- 练习作业:站点统计练习
- mysql 首次使用
- mysql修改数据库字符集使支持中文输入
- 对缓存的理解
- mysql索引