mysql limit性能问题

offset大的时候的比较

 1、

SELECT * FROM persons LIMIT 200000,10;

耗时0.109s

 

 2、

SELECT *
FROM persons WHERE id>=(
SELECT id FROM persons ORDER BY id LIMIT 200000,1
) LIMIT 10

耗时0.078s

 

why?

offset偏移量越大,用子查询效率更高。本质原因是什么?避免全表扫描字段

http://doc.mysql.cn/mysql5/refman-5.1-zh.html-chapter/

第一个例子从偏移量0扫描全表字段到200000

第二个例子是先从偏移量0只是扫描字段id到200000,然后根据id(用到索引)判断获取结果。

 

mysql分页limit 优化

 

posted @ 2014-05-11 15:05  唾手可得的树  阅读(492)  评论(0编辑  收藏  举报