在实际运用过程中,当我们需要对MySQL数据库中查询的语句进行分页处理时,通常使用的是limit方法。
基础语法为
select * from table_name limit (page-1)*num,num
//分页查询table_name表,page为页数,num为每页显示的数据条数
这个语句是最简单的分页查询语法,但是当我们所查询到的数据条数趋于百万甚至千万级别时,这个方法的速度将会越来越慢最后导致服务器请求超时,在这种大数据量情况下,我们需要采用一步子表查询即
select * from table_name where id >= (select id from table_name limit (page-1)*num,1) limit num
//这里多进行一步起始id的查询,经实验证明会大大缩短查询时间
那么到这里我们就可以轻松写出带有查询条件的分页查询语句了
SELECT * FROM table_name
WHERE id >= (select id from table_name
where 你的查询条件 limit (page-1)*num,1)
and 你的查询条件 limit num ;