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

河北网站建设推广电话全国疫情高中低风险区一览表

河北网站建设推广电话,全国疫情高中低风险区一览表,创建网站多少钱,网站的链接结构最近看到一道面试题,如何优化深分页查询 最简单的例子是 select * from web_bill_main limit 30000,10;分页达到30000行,需要把前面29999行都过滤掉,才能找到这10条数据 所以整体时间花了80ms(工具显示时间) 我当时的第一反应是&#xff0…

最近看到一道面试题,如何优化深分页查询
最简单的例子是

select  * from web_bill_main
limit 30000,10;

分页达到30000行,需要把前面29999行都过滤掉,才能找到这10条数据
所以整体时间花了80ms(工具显示时间)

我当时的第一反应是,使用in

select * from web_bill_main 
where id in 
(select id from web_bill_main limit 30000,10)

很遗憾,报错了
在这里插入图片描述

然后想到使用left join

select w.* from
(select id from web_bill_main 
limit 30000,10)t left join web_bill_main w on t.id = w.id

速度提升至15ms

正当我洋洋得意时,发现问题的不对劲,速度是提升了,但是返回数据不一样

此时我发现,以下两个sql返回数据的id不一致

select id from web_bill_main
select  * from web_bill_main

select * from web_bill_main查询到的是根据ID进行排序的数据
select id from web_bill_main查询出来的ID并不有序

百思不得其解,使用explain分析
explain select * from web_bill_main
分析如下,全表查,所以id有序
在这里插入图片描述

explain select id from web_bill_main
分析如下,没有使用id索引,而是使用了idx_modify_time,mysql除了主键索引,都是联合索引,利用了回表
在这里插入图片描述
针对使用idx_modify_time的理解是,id是聚簇索引,如果遍历ID索引的结果就是,会遍历所有数据,所以使用idx_modify_time索引的覆盖索引机制,而idx_modify_time的顺序和id不一致,所以出现查询到的结果不一

最终,改成如下sql,数据与原数据一致

select w.* from
(select id from web_bill_main 
order by id 
limit 30000,10)t left join web_bill_main w on t.id = w.id

耗时29ms
在这里插入图片描述

http://www.dinnco.com/news/62930.html

相关文章:

  • 新泰房产网58个人出售百度视频排名优化
  • 软件开发专业技能怎么写关键词优化怎么优化
  • 网络销售网站有哪些武汉 网络 推广
  • 淘宝客网站制作视频教程中国女排联赛排名
  • 大型房产网站模板核心关键词是什么意思
  • 商旅平台app下载aso优化方法
  • 宿迁网站建设公司上海推广服务
  • 头条新闻今日头条排名优化价格
  • 网站删除模块seo排名优化公司价格
  • 在哪能学到网站建设专业app地推接单平台
  • 做促销的网站西安今日头条最新新闻
  • 国家知识产权局什么级别长沙专业竞价优化首选
  • flash可以做网站百度一下网址是多少
  • 网站cms在线识别seo优化排名公司
  • 深圳网站建设价钱上海已经开始二次感染了
  • 网站制公司搜索广告和信息流广告区别
  • 工程建设信息都在哪个网站发布廊坊seo排名收费
  • 建设商城网站的书籍钱注册商标查询官网入口
  • 南宁h5建站百度seo软件是做什么的
  • 国外免费推广网站厦门百度推广开户
  • 精品网站建设比较好软文推广怎么写
  • 荥阳做网站2023年5月疫情爆发
  • 门户网站制作定制广告投放这个工作难不难做
  • 网站建设公司的转型关键词优化排名平台
  • 淘宝客代理网站怎么做重庆网站seo技术
  • 网站建设进展推进表哪里有正规的电商培训班
  • 微网站模板建设的选择如何网络营销
  • 烟台建网站公司价格网络营销策划ppt范例
  • 网站访客统计代码摘抄一篇新闻
  • 无锡那家网络公司做网站好成都网络营销公司