方法一:直接使用数据库提供的SQL语句
语句样式:MySQL中可用如下方法:
select * from table_name limit m, n;
适用场景:适用于数据量较少的情况(元组百/千级...)
原因/缺点: 全表扫描,速度会很慢 且 有的数据库结果集返回不稳定(如某次返回1,2,3,另外的一次返回2,1,3). limit限制的是从结果集的 m 位置处取出 n 条输出,其余抛弃....方法二:建立主键或唯一索引,利用索引(假设每页10条)
语句样式: MySQL中,可用如下方法:
select * from table_name where id_pk > (pageNum*10)...有朋友提出: 因为数据查询出来并不是按照pk_id排序的,所以会有漏掉数据的情况,只能方法3
方法三:基于索引再排序
语句样式,MySQL中可用如下方法:
select * from table_name...但MySQL的排序操作,只有 asc 没有 desc ( desc 是假的,未来会做真正的 desc ,期待…).