当前位置: 首页 > wzjs >正文

网站建设仟首选金手指wordpress 去掉作者信息

网站建设仟首选金手指,wordpress 去掉作者信息,岗顶网站开发,中国十大公关公司排名文章目录 适用场景/背景描述本质原理简单举例子分页游标,若用非唯一索引的字段排序分页游标,若 order by 的不是索引还能使用分页游标吗 适用场景/背景描述 如果需要做分页查询且被查询的数据量很大,直接 limit offset 有可能会导致全表扫描…

文章目录

  • 适用场景/背景描述
  • 本质原理
  • 简单举例子
  • 分页游标,若用非唯一索引的字段排序
  • 分页游标,若 order by 的不是索引还能使用分页游标吗

适用场景/背景描述

  • 如果需要做分页查询
  • 且被查询的数据量很大,直接 limit offset 有可能会导致全表扫描或扫描前 n 项
    • 如果你用查询的字段不包含索引字段,那么会发生全表扫描
    • 如果你查询的字段包括索引字段,你仍然要扫描索引字段的前 n 项
  • 且客户端侧仅支持每次到下一页的查找,不支持跳转查找第几页
  • 且 order by 排序是以索引来排序

如果你遇到的是上方描述的场景,那么分页游标就是你很好的选择!

本质原理

一句话:原本的常规的分页查找,思路转变成利用索引条件和 limit 查找多少个数量来替代,来避免 offset 的性能瓶颈

简单举例子

如果你使用 limit offset:
比如你要一页一页的分页查找用户表数据,按照每页 10 条来查找,你查找第一页,能很快找到,因为 id 为主键索引,依据 B+ 树的二分查找特性

select * from t_user order by id limit 10;

…你一页一页的查找,然后你查找后头第 4 页,取 10 条数据,但是在 B+ 树二分查找的前提下,你还需要扫描前面 3 页的共 30 条数据才能定位到起始位置

select * from t_user order by id limit 10 offset 30

如果你使用分页游标:
如果使用一页一页的查找数据,按照每页 10 条查找,你查找第一页,因为 id 是主键索引你能快速查找到,然后后端多返回查找到的最后一条数据的这个索引字段 id(要求这个索引需要唯一)

select * from t_user order by id limit 10;

…你一页一页的查找,然后你查找后头第 4 页,取 10 条数据,你就可以利用上一页查找时候返回的索引 id(假如是 30)来快速查找了,这时候你可以直接定位到 id > 30 这个起始位置

select * from t_user where id > 30 order by id limit 10;

这里区别就出来,当你一页页查找,查找到后头的页数时

  • 使用 limit offset,你每页查找时候,都需要把前面的页面的数据给扫一遍
  • 使用分页游标时候,你每页查找时候,每页查找都能快速定位,无需把前面页面的数据给扫一遍

分页游标,若用非唯一索引的字段排序

比如使用非唯一索引的字段 age 来排序呢?那么用分页游标时候我不能简单的 age > 30 来 limit 了,因为 age 有很多等于 30 的,但是你可以依附于另一个唯一的索引字段来弄。因此你需要传 2 个游标给客户端

-- 假设上一页的游标是 age = 30,id = 100,id 是主键索引,age 不是索引,age 不唯一
select * from t_user where (age = 30 and id > 100) or age > 30 order by age, id limit 10

分页游标,若 order by 的不是索引还能使用分页游标吗

一般来说 order by 的不是索引字段,或者这个字段不能添加索引,那么不建议分页游标来做,如果非要用分页游标,也需要你贴紧一个有唯一索引的字段来做,但即使是这样,首页查询也会全表扫描,后续页查询时因为会先执行 where 中的语句能缩减一点点范围

因为当你使用分页游标时,第一页查询就直接进行了全表扫描了,因为你会 order by 一个非索引字段

select * from t_user order by name, id limit 10;

后续页,假设上一页最后一条记录 id 是 100

select * from t_user where id > 100 order name, id limit 10;

文章转载自:

http://CKpsJVMI.xrhst.cn
http://8C429ZBT.xrhst.cn
http://msdhRL13.xrhst.cn
http://0KAsSTum.xrhst.cn
http://2sF3xtTx.xrhst.cn
http://VRIQGB9S.xrhst.cn
http://1Kj1E00H.xrhst.cn
http://mnqIEai1.xrhst.cn
http://gvjY822f.xrhst.cn
http://xxS5HWWa.xrhst.cn
http://9KvUuomu.xrhst.cn
http://kSJhGRPK.xrhst.cn
http://P54S622I.xrhst.cn
http://UIqluNXr.xrhst.cn
http://lLxFuFEs.xrhst.cn
http://sz5k48wB.xrhst.cn
http://gBUdgUMP.xrhst.cn
http://E03CabOm.xrhst.cn
http://viBF9CiY.xrhst.cn
http://nwQGWNYF.xrhst.cn
http://MA7SwelC.xrhst.cn
http://kw44cpyh.xrhst.cn
http://ILuxG27I.xrhst.cn
http://2tKBun3g.xrhst.cn
http://4akthBPr.xrhst.cn
http://wwaOnjOf.xrhst.cn
http://KV6YEa80.xrhst.cn
http://qnDZ2z0V.xrhst.cn
http://z0DfBUbV.xrhst.cn
http://iXAHCgAU.xrhst.cn
http://www.dtcms.com/wzjs/728504.html

相关文章:

  • seo网站首页优化排名怎么做中国空间站航天员
  • 下载站cms重庆最好的网站建设公司
  • 求一个做门窗技术的网站常州网站建设key de
  • 网站设计谈判张家界商城网站建设
  • 网站建设方案论文1500做网站不用服务器吗
  • 做网站去哪里下载素材如何发布网站
  • 办网站除了域名备案 还需要什么wordpress怎么做cdn
  • 个人的小说网站如何做网页设计3个页面
  • 安微省住房和城乡建设厅网站杭州网站制作公司排名
  • 准备网站的工作网站** 教程
  • 广州网站建设 乐云seo制作个人网站怎么制作
  • 站长工具网站提交做阿里巴巴网站的电话号码
  • 怎么运营自己的网站网站平台开发
  • 怎么查询网站的备案号关键词seo排名优化推荐
  • 用网盘做网站两个网站链接如何做
  • 服务器备案期间网站铜陵网站建设推广
  • 网站设计评价标准如何做网络营销方案
  • 网站源码修改后怎么提交上海搜索引擎优化seo
  • 开封做网站公司网站互点都是怎么做的
  • 保险公司招聘网站旅游网络营销策划方案
  • 怎么做一个网站多少钱公司网站怎样添加和修改内容
  • 拼多多网站分析网站色调设计方案
  • win2008iis配置网站wordpress #
  • 网站备案未注销 影响做网站需要什么样的电脑配置
  • 广州市城市建设开发总公司网站电子商务网站的建设论文
  • 网站设计师主要做什么网页版微信登录显示二维码失效
  • 湖滨网站建设wordpress最好最全的教程
  • 免费发布产品信息的网站深圳公司招聘信息
  • 网站私信界面租整套房做民宿的网站
  • 做网站都需要什么资料做cpa用单页网站好还是