limit用法:
SELECT * FROM tablename LIMIT [offset,] rows | rows OFFSET offset
举例:
SELECT * FROM tablename LIMIT 5,10 //返回6-15行记录
SELECT * FROM tablename 5 //返回1-5行
相当于:
SELECT * FROM tablename 0, 5
返回10000条后的100条记录:
第1种方法:
SELECT id FROM tablename WHERE id >= (SELECT MAX(id) FROM (SELECT id FROM tablename ORDER BY id LIMIT 10001) AS tmp) LIMIT 100;
时间:
第2种方法:
SELECT id FROM tablename WHERE id >= (SELECT MAX(id) FROM (SELECT id FROM tablename ORDER BY id LIMIT 10000,1) AS tmp) LIMIT 100;
时间:
从上面的结果可以看出,LIMIT起到性能优化的作用,可以避免全表扫描。因为,如果第2种方法是利用全表扫描,那么就是从头开始的到大于10000的100条,时间会和第一种差不多,现在相差14倍,所以,LIMIT可以提高海量数据查询的性能。