分页查询(limit)

简介: limit(可以接受一个参数或者两个参数)第一个参数指定第一个返回记录行的偏移量(初始偏移量是0不是1)第二个参数指定返回记录行的最大数目例://检索记录行6-15select * from table limit 5...

limit(可以接受一个参数或者两个参数)

  • 第一个参数

指定第一个返回记录行的偏移量(初始偏移量是0不是1)

  • 第二个参数

指定返回记录行的最大数目

  • 例:
//检索记录行6-15
select * from table limit 5,10

为了检索从某一个偏移量到记录集的结束所有的记录行,可以制定最后一个参数为-1

//检索从96条记录到最后一条记录
select * from table limit 95,-1

如果只给定一个参数,表示返回最大的记录行个数,即(limit n == limit 0,n)

limit分页查询的性能分析

  • 基本分页方式
select ··· from ··· where ··· order by ··· limit ···

在中小型数据量够用,数据量超级大时建议使用子查询

select * from articles where category_id = 123 order by id limit 1000000,10

修改为

select * from articles
where id>=(select id from articles where category_id = 123 order by id limit 1000000,1)
limit 10

优化思想:避免数据量大时扫描过多的记录


img_d21299c7f11bb8ff30de2fa6b1f6c65c.png
image.png

img_ab1f01bdb6ff9d41743e1443104302a5.png
image.png
相关文章
MyBatis-Plus - 分页查询 selectPage 返回 total 为 0 解决方案
MyBatis-Plus - 分页查询 selectPage 返回 total 为 0 解决方案
2444 0
|
4月前
|
机器学习/深度学习 存储 SQL
别再用offset和limit分页了
别再用offset和limit分页了
25 0
|
4月前
|
SQL 算法 关系型数据库
MySQL查询优化之order by 、 group by与分页查询优化
MySQL查询优化之order by 、 group by与分页查询优化
235 0
|
SQL 关系型数据库 MySQL
MySQL分页查询详解:优化大数据集的LIMIT和OFFSET
MySQL的分页查询是处理大量数据集的常见需求,了解`LIMIT`和`OFFSET`关键字的用法可以帮助您有效地实现分页功能。同时,性能优化也是确保查询高效执行的关键。通过合理配置和结合其他优化策略,您可以轻松应对分页查询的挑战,提供更好的用户体验。
705 0
MySQL分页查询详解:优化大数据集的LIMIT和OFFSET
|
数据采集 算法 前端开发
查询分页不只有 limit,这四种分页方法值得掌握
查询分页不只有 limit,这四种分页方法值得掌握
249 0
查询分页不只有 limit,这四种分页方法值得掌握
|
数据库
分页limit和排序order by
分页limit和排序order by
|
SQL 关系型数据库 MySQL
select、distinct、limit使用
select、distinct、limit使用
263 0
select、distinct、limit使用
|
SQL Oracle 关系型数据库
mysql 5.6 order by limit 排序分页数据重复问题
mysql 5.6 order by limit 排序分页数据重复问题
351 0
mysql 5.6 order by limit 排序分页数据重复问题
|
SQL
九、查询结果排序与分页
九、查询结果排序与分页
103 0
|
关系型数据库 Java mybatis
如何优雅地实现分页查询
分页功能是很常见的功能,特别是当数据量越来越大的时候,分页查询是必不可少的。实现分页功能有很多种方式,如果使用的ORM框架是mybatis的话,有开源的分页插件可以使用,如:Mybatis-PageHelper。
1421 0