方式1:select * from table order by id limit m, n;很简单,该语句的意思就是查询m+n条记录,去掉前m条,返回后n条。无疑该查询能够实现分页,但m越大,查询性能就越低,因为MySQL需要扫描全部m+n条记录。方式2:select * from table where id > #max_id# order by id limit n;该查询同样会返回后n条记录,却无需像方式1扫描前m条记录,但必须在每次查询时拿到上一次查询(上一...
解决方案如果我们只查询主键的话,这个查询效率会有很大的提升。SELECT idFROM table1WHERE status =0ORDER BY id DESCLIMIT 10870000, 10只需要3s多然后我们再通过主键进行查询所有的字段,也只需要0.04s就可以搞定select * from table1 where id in (1,2,3);...