@R星校长
第1关:MySQL 分页查询
本关任务:能分页读取表中数据,针对大数据量进行简单优化。
- 如何根据页数和每页数据量进行分页查询;
- 大数据量级进行优化分页查询。
什么是分页查询
当一个表中有很多符合查询条件的数据的时候,我们往往不需要把他们全部一次性取出来,那样对查询效率或者服务器性能来说都会是一个极大的挑战:例如最简单的商城,假设商城中有一万个数据,但我们在前端可能只会每次看到一页10
个左右的数据,当我们浏览完这十个商品后,点击下一页浏览其他的商品,这样的分页浏览,对实际存储商品数据的 MySQL
数据库来说,实际上就是使用了 MySQL
的分页查询功能。
那么我们该怎么实现分页查询呢?
limit 和 offset 实现的分页查询
limit
在之前的学习中应该有学习到,它可以返回符合条件的limit
条数据:
select * from table where xxx="xxx" limit 10;
输出: 检索记录行符合条件的10
条数据
那么我们也可以利用limit
和offset
来进行分页查询:
select * from table where xxx="xxx" limit 10 offset 10;
输出:检索记录行符合条件的11-20
条数据
limit
之后的数字代表偏移量,offset
代表返回记录的最大值,可以通俗的理解为,从table
中取出第limit+1
行到limit+offset+1
行数据( MySQL
偏移值从0
开始计算)。
在实际使用中,我们可以直接把