首页 > 网络运维 > Linux/Mysql > 正文

MySQL分页的几种方式

MySQL分页的几种方式

一、什么是MySQL分页

MySQL分页是一种应用在数据库查询中用于处理大量数据的一种方式。分页可以把大量的行记录按指定的每页行数,分成多个小查询结果集,以让用户更容易地查看、操作数据。分页的方法是在MySQL查询中加入特殊的参数或语句,如LIMIT子句、ROW_NUMBER()函数或内存分页方法。

二、MySQL中常用的分页方式有哪些?

1、Limit子句分页:Limit子句是MySQL中最常用的分页语句,通过在查询语句中加入Limit语句,可以控制MySQL返回的结果行数。它的语法形式如下:

select * from tableName limit m,n;

其中m表示跳过的行数,即从第m+1行记录开始返回;n表示要返回的行数,如果跳过的行数大于结果集的最后行数,则不返回任何结果行。例如,把结果集的前5行记录跳过,则这个查询语句如下:

select * from tableName limit 5,10;

2、Row_number()函数分页:这种方法比较适用于MySQL 5.0之前的版本(5.0以后版本引入了物化视图),它使用MySQL内部row_number()函数来实现分页功能,它的语法形式如下:

SELECT *

FROM

(SELECT ROW_NUMBER() OVER (ORDER BY ID) as rn,*

FROM tableName) as a

WHERE a.rn BETWEEN m AND n

其中ID表示结果集排序依据的字段;m、n分别指定跳过行数和要取回的行数,如果跳过的行数大于最后行数则不返回任何结果行。

3、内存分页:这种方法比较适用于MySQL 5.0之前的版本,它会把整个查询结果放置在内存中,然后按照每页的行数做分页处理,可以取得比前两种方法更好的性能效果。它的语法形式如下:

SET @num = 0;

SELECT @num: = @num + 1 AS rn,*

FROM tableName

ORDER BY ID

LIMIT m,n

其中ID表示排序依据的字段,m表示跳过的行数,n表示取回的行数,如果跳过的行数大于最后行数,则不返回任何结果行。

三、总结

MySQL分页是一种应用在数据库查询中用于处理大量数据的一种方式,它的主要目的是把大量的行记录按指定的每页行数,分成多个小查询结果集,以让用户更容易地查看、操作数据。MySQL中常用的分页方式有Limit子句、Row_number()函数以及内存分页方法。

打赏
海报

本文转载自互联网,旨在分享有价值的内容,文章如有侵权请联系删除,部分文章如未署名作者来源请联系我们及时备注,感谢您的支持。

转载请注明本文地址:http://atpbike.com/article/mysql/2337.html

相关推荐

支付宝
微信
赞助本站