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

上文明网站 做文明网民征文北京网站优化体验

上文明网站 做文明网民征文,北京网站优化体验,哪里网站建设,医药销售网站开发背景大家好,我是冰河~~ 最近不少小伙伴在实际工作过程中,遇到了单表大数据量分页的问题,问我怎么优化分页查询。其实,这就是典型的深分页问题。今天趁着周末,给大家整理一些在深分页场景的简单处理方案。 一、普通分页查…

大家好,我是冰河~~

最近不少小伙伴在实际工作过程中,遇到了单表大数据量分页的问题,问我怎么优化分页查询。其实,这就是典型的深分页问题。今天趁着周末,给大家整理一些在深分页场景的简单处理方案。

一、普通分页查询存在的问题

如果数据表中的数据量非常大,那么使用类似如下SQL语句分页查询数据,就会导致性能低下。

select * from test limit 10000000, 1000;

性能低下的原因是上述SQL会查询数据表中的10001000条数据,最终舍弃前面的10000000条数据,返回1000条数据。这种大数据量下查询大页码数据的现象,也叫作深分页问题。

二、深分页常见优化方案

常见的深分页方案包括:范围查询、子查询、延迟关联和覆盖索引

2.1 范围查询

如果数据表中存在连续的自增ID,则按照ID的范围查询可以优化一定的性能,例如,下面的SQL。

select * from test where id > 10000000 and id <=  10001000 order by id asc;

也可以记录上一次已经查询到的当前最大ID值,查询大于此ID值的N条数据作为返回结果,如下所示。

select * from test where id > 10000000 limit 1000;

这种方案需要ID连续递增,并且不能解决跳页的问题。

PS:跳页问题的场景是:不连续分页,从第1页直接翻到第2页以外的其他页码,例如从第1页直接翻到第10页等等。

2.2 子查询

通过子查询的方式,可以先查询limit 1这条数据对应的主键值,随后再根据这个主键值作为查询条件查询分页数据,例如下面的查询SQL。

select * from test where id >= (select id from test limit 10000000, 1) limit 1000;

子查询的过程会产生一种新的临时表,会影响到查询性能,并且这种方案只能使用在ID正序的场景。

2.3 延迟关联查询

延迟关联查询的方案中,会使用INNER JOIN,并且包含子查询的方式查询数据。

select t1.* from test t1 INNER JOIN (select id from test limit 10000000, 1000) t2 on (t1.id = t2.id);

这里,还可以使用逗号连接子查询。

select t1.* from test t1, (select id from test limit 10000000, 1000) t2 where t1.id = t2.id;

2.4 覆盖索引

覆盖索引说的是要查询的字段尽量都在索引树中,尽量不要再回表查询数据,假设只需要查询test表中的id, username,则在id和username上添加索引,使得查询的所有字段数据都在索引上。

select id, username from test limit 10000000, 1000;

这种方案需要保证要查询的字段都被添加了索引,但是,如果当前分页查询的数据占整张表的大部分数据时,索引可能失效,造成回表查询。

好了,这就是给大家分享的几种简单处理深分页问题的方案,今天就到这儿吧,我是冰河,我们下期见~~

http://www.jinmujx.cn/news/78329.html

相关文章:

  • 公司网站后台怎么添加内容企业网站seo多少钱
  • 网站建设的基本原则电商怎么做推广
  • 有哪个网站教人做美食互联网营销有哪些方式
  • 杭州做网站公司哪家好宁波谷歌优化
  • 网站怎样做图片滚动做网络推广一个月的收入
  • 南京本地网站建设手机网站制作平台
  • 用html制作一个注册页面技术优化seo
  • 做亚马逊运营要看哪些网站厦门最快seo
  • 建站教学视频谷歌关键词排名优化
  • 做中东服装有什么网站手机百度极速版app下载安装
  • 做网站头片的高清图百度客户端
  • 资料代做网站nba篮网最新消息
  • 外管局网站怎么做报告seo排名第一的企业
  • php做的网站怎么打开武汉最新今天的消息
  • 高端网站设计公司排行榜优化软件有哪些
  • 定制网站制作系统昆明自动seo
  • 免费ppt资源网站如何做网站seo
  • 国外做糖网站b2b网站免费推广
  • 网站特效 站长刷粉网站推广马上刷
  • 建设银行网站用户登录网络公司seo教程
  • 网站建设与制作与维护ppt收录网站排名
  • vrchat视频转码seo方案
  • 长春网站建设外包优化设计方案
  • 深圳龙华做网站的免费下载百度软件
  • 做帮助手册的网站企业网站营销的优缺点
  • 网站jsp充值和体现系统怎么做广告公司图片
  • 有专业做网站的吗餐饮店如何引流与推广
  • 有关网站升级建设的申请书广告seo是什么意思
  • 专业网站建设微信官网开发电脑优化大师
  • 徐州网站建设制作工作室百度搜索风云榜官网