1、为什么需要分页?
当数据库的数据过的时候,客服端无法一次性显示所有数据,例如我们数据库表里有十万条数据,如果一下加载,查询的速度慢,用户体验差,而且用户也不可能一次性读完这个十万条数据
2、分页技术分类
- 物理分页(推荐)
在数据库执行查询时(实现分页查询),查询需要的数据依赖数据库SQL语句,属于后台分页 - 逻辑分页
先查询所有数据到内存,再从内存截取需要数据采用程序内部逻辑,属于前台分页
1、说明
Mysql分页采用 **LIMIT** 关键字
2、语法格式
- 格式
SELECT * FROM table LIMIT [offset,] rows SELECT * FROM table LIMIT rows OFFSET offset - 说明
- 第一个参数指定第一个返回记录行的偏移量
- 第二个参数指定返回记录行的最大数目
- 如果只给定一个参数:它表示返回最大的记录行数目
- 第二个参数为 -1 表示检索从某一个偏移量到记录集的结束所有的记录行
- 初始记录行的偏移量是 0(而不是 1)
3、示例代码
- 查询6-10条数据
SELECT * FROM table LIMIT 5,5; -- 检索记录行 6-10 条数据 - 查询从某一个偏移量到记录集的结束所有的记录行,可以指定第二个参数为 -1
SELECT * FROM emp LIMIT 5,-1; -- 检索记录行 6-最后一条. - 查询前 5 条记录
SELECT * FROM emp LIMIT 5 -- LIMIT n 等价于 LIMIT 0,n - 返回4行,9表示从表的第10行开始
SELECT * FROM emp LIMIT 4 OFFSET 9 -- 等价于 select * from Emp limit 9,4