mysql limit性能问题

时间:2023-03-09 09:25:22
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 优化

相关文章