您的位置:首页 > 数据库 > MySQL

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)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: