SQL分页查询
SQL分页查询:
-
背景
在公司的系统中有一个平台是 做配置管理的 就是所谓的 CRUD 的平台,但是点击后进去到页面第一次看到的是一次查询的页面 (点击页面自动的触发查询的功能) 后面就可以你的CRUD的操作是给运营的同事来操作的,但是一般的是我们数据量比较的少的业务是之间查询出来所有的数据,直接返回给前端的让他自己做分页的,但是有一些数据量达到上万级别的时候,不能让他们乱搞了,必须要用到给我多加入两个参数了
-
解决方法
非常的简单的加入两个参数 (1) 页数 (2) 每页的查询的数量 (后端都有默认值防止不传)
-
service需要的处理
处理方式非常的简单的 在sql 中进行抽取一下
查询全部的数据 没有加入分页
加入分页的 这里特别需要注意的是:
分页的查询 第一个是页数,每页的数量 这里的页数需要处理一下有个公式 sql写入的页数 = (页数-1) * 每页的数量
-
sql 是如何处理的
第一种
SELECT * FROM test_user_info limit 0,4;
第二种
有时候 通过分页是可以解决 大多数的情况,但是我们可以预测到数据到哪一步,就是从哪里开始适合大量数据的表中, 我们稍微改一下SQL
加入 启始的 id 开始 每次获取 4条数据
SELECT * FROM test_user_info WHERE id > 32 limit 4;
还有 普通的查询的时候知道是一条数据的时候 在后面加入 limit 1 sql执行速度更快
这是一个明显的对比了
[外链图片转存中…(img-wCJm8EZE-1583644134092)]
这是一个明显的对比了