测试有110W数据,翻页到100W
优化前
优化前3s
explain
SELECT * from t_report_variable r ORDER BY r.id desc LIMIT 1000010 ,10; #3.016 秒
优化后
优化后2.3s
explain
select * from t_report_variable r WHERE
r.id < ( select id from t_uweb_hmi_report_variable order by id desc limit 1000009,1 ) ORDER BY r.id desc limit 10; #2.297 秒
思考
如果要按最后修改时间倒排序,把时间做索引是可以,但有可能时间是有重的,这样结果就可能不准确
这时就要考虑 time+id 组合分页得到最后条记录了