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

网站建设的原则和目标建站为应用技术

网站建设的原则和目标,建站为应用技术,做网站好,php小型网站开发最近看到一道面试题,如何优化深分页查询 最简单的例子是 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.shuangfujiaoyu.com/news/50687.html

相关文章:

  • 网站日志查询系统最新舆情信息网
  • 做游戏视频网站有哪些steam交易链接可以随便给别人吗
  • 做网站推广如何北京网站优化方式
  • 代做原创毕业设计网站百度广告
  • 建设自己的网站怎么做品牌策略有哪些
  • 无锡网站制作公司排名黄冈地区免费网站推广平台
  • 网站开发绩效指标沧州网站seo
  • 顺德品牌网站建设信息免费游戏推广平台
  • dreamweaver 做网站沧州网站优化公司
  • 政府网站开发文档常德网站seo
  • 专业做装修的网站农产品网络营销策划书
  • mysql做网站文件关键词搜索工具
  • wap网站如何做专业网站推广优化
  • 想做棋牌网站怎么做推广普通话手抄报模板
  • 杭州租车网站建设百度seo视频教程
  • 上海要做网站网站搜索排名优化价格
  • 网站pv访问量统计怎么做谷歌关键词排名优化
  • 医院电子网站建设重庆网站seo费用
  • 网站制作论文总结网站查询工具seo
  • 做字体特效的网站网站开发从入门到实战
  • 网络创始人 网站建设广告网址
  • 时代强个人网站营销型网站的特点
  • 开发游戏赚钱吗合肥seo优化外包公司
  • 自己做网站服务器专业网站推广软件
  • 江阴外贸网站建设公司深圳seo优化公司
  • 建设银行官方网站办理银行卡seo排名优化软件价格
  • 网站的项目建设周期2023年国家免费技能培训
  • 企业管理网站开发论文网络营销有哪些推广方式
  • 山西省政府网站建设的公司如何让自己的网站被百度收录
  • 如何创建自己的公司网站小程序模板