附:MySQL 生成千万测试数据
使用navicat工具,执行分页查询效率对比:(时间不是特别精确,但是可以用于参考)
1.使用limit:
SELECT id,val FROM t_test LIMIT 0,50
-- 耗时:0.026s
SELECT id,val FROM t_test LIMIT 5000,5050
-- 耗时:0.046s
SELECT id,val FROM t_test LIMIT 50000,50050
-- 耗时:0.074s
SELECT id,val FROM t_test LIMIT 500000,500050
-- 耗时:0.514s
SELECT id,val FROM t_test LIMIT 5000000,5000050
-- 耗时:4.810s
SELECT id,val FROM t_test LIMIT 9000000,9000050
-- 耗时:3.371s
2.不使用limit
SELECT id,val FROM t_test where id>=0 and id<=50
-- 耗时:0.024s
SELECT id,val FROM t_test where id>=5000 and id<=5050
-- 耗时:0.024s
SELECT id,val FROM t_test where id>=50000 and id<=50050
-- 耗时:0.024s
SELECT id,val FROM t_test where id>=500000 and id<=500050
-- 耗时:0.025s
SELECT id,val FROM t_test where id>=5000000 and id<=5000050
-- 耗时:0.025s
SELECT id,val FROM t_test where id>=9000000 and id<=9000090
-- 耗时:0.025s