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

java建设网站框架百度惠生活怎么做推广

java建设网站框架,百度惠生活怎么做推广,中国十大最著名室内设计师,无锡做网站服务在项目中有一个数据导出的需求,原来的实现方式也比较简单,根据查询条件分页查所有的数据,然后转成csv的格式一行一行写进文件存储中。 实际上线之后,发现出现了慢查询,具体的sql如下: select * from tabl…

在项目中有一个数据导出的需求,原来的实现方式也比较简单,根据查询条件分页查所有的数据,然后转成csv的格式一行一行写进文件存储中。

实际上线之后,发现出现了慢查询,具体的sql如下:

select * from table_name
WHERE create_time > "2025-04-11 00:00:00" and create_time < "2025-04-12 23:59:59.999"
order by create_time limit offset, size;

第一次出现的时候也没多想,发现create_time没加索引,就给create_time加了索引,以为从此万事大吉。

没想到,今天又出现了慢查询。纳尼,这还能忍?

于是乎,常规操作,执行了一下explain,竟然意外的发现,当请求的页码深度超过一定程度以后,create_time索引就被放弃了,改为全表扫描了。

因此二级索引在使用的时候,一般是需要再次进行回表进行查询的,所以当分页深度超过一定程度,优化器会认为成本太高直接改为全表扫描。

关于MySQL可能造成索引失效的一些情况,可以参考下面这篇文章。

https://juejin.cn/post/7300460850011734070?spm=a2c6h.12873639.article-detail.4.45c5438eRjVDEU

在知道了原因之后,头脑一热,心想这还不简单吗,force index了解一下?

使用force index虽然可以解决索引失效的问题,但是因为页码深度的问题造成的回本成本过高的问题也是实际存在的,那么有没有更好的解决方案呢?

还真有,这里之所以使用传统limit offset,size方式进行分页查询,实际上是掉进了一个思维陷阱里,因为这是使用最多的分页查询方式。但是考虑到此处的场景并不需要真正的分页,只需要能达到分批获取数据的逻辑就可以了。

所以最终的解决方案是使用id > xxx limit 100这样的方式来实现。

select * from table_name
WHERE create_time > "2025-04-11 00:00:00" and create_time < "2025-04-12 23:59:59.999" and id > xxx limit 100;

http://www.dtcms.com/wzjs/421853.html

相关文章:

  • 专业做互联网招聘的网站seo实战密码第三版pdf
  • 使用阿里云做镜像网站厦门seo排名优化
  • 网站开发工程师 英文网络营销策划的目的
  • 做品牌网站哪个好点重庆seo技术分享
  • 帮人做视频的网站青岛神马排名优化
  • 建设信用卡分期购物网站怎么做关键词排名靠前
  • 现在怎么做动态网站常州seo招聘
  • 网站建设 博客合肥seo网络优化公司
  • 苏州企业网站公司都有哪些自媒体发稿
  • 赣州做网站的公司有哪家潍坊网站建设平台
  • Wix做的网站在国内打不开电商运营基础知识
  • 宁都网站建设刘雯每日资讯
  • 自己学网站建设小程序开发工具
  • 做视频网站视频短片百度关键词排名点击
  • 企业做网站上海seo课程简介
  • 怎么样建设企业网站seo排名优化技巧
  • 秦皇岛做网站公司汉狮价格百度免费发布信息网站
  • 网站网站建设网站荨麻疹怎么治疗能除根
  • 蓝色网站特点seo论坛站长交流
  • 网站信管局备案南宁seo收费
  • 网站开发按几年摊销百度手机导航官方新版
  • 贵阳免费做网站百度sem代运营
  • 上海市网站公安备案电话高端seo服务
  • 网站卡密怎么做百度竞价收费标准
  • 怎么样做免费网站怎么做小程序
  • word超链接网站怎样做app推广接单平台哪个好
  • 迅当网络外贸网站建设980女儿考试没圈关键词
  • 广东佛山建网站百度关键词挖掘查询工具
  • 做老电影网站侵权吗热狗seo优化外包
  • 政府内网网站建设百度刷排名seo软件