提到mysql的分页查询,可能第一个想到的是limit a,b。但是通过实验发现它是这几种分页查询中最慢的一个。
还有一种方法是,在表中设置递增id,通过select * from tablename where id>=start and XXX order by id limit size;(Id需要建立索引)
这种方法和limit a,b的缺点是不能并行分段查询,后一段的查询必须依赖前一个查询的最后一个id(当然,如果语句中没有其他选择语句除外)。
如果想并行分段,切有其他选择条件。这使用select * from tablename where id>=start and id<end and XXX;这样既能保持速度有能并行查询。但是却不能保持没个段的数据量。如果使用均衡负载的话,是比较难分配的。