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

网站建设方案 pdf网页无法上传wordpress

网站建设方案 pdf,网页无法上传wordpress,长沙网站优化诊断,代理IP做网站今天调优的原因是,有一个统计报表业务,查询的时间太慢;同时由于数据库的压力是随机性的,这个业务的执行下限和上限相差近20倍;快的时候可以达到600ms,慢的时候有9秒之多; 接下来详细介绍&#x…

        今天调优的原因是,有一个统计报表业务,查询的时间太慢;同时由于数据库的压力是随机性的,这个业务的执行下限和上限相差近20倍;快的时候可以达到600ms,慢的时候有9秒之多;

        接下来详细介绍:这是一个报表业务,按照设备ID统计设备在一段时间内的异常(业务逻辑判断)订单总数;他的数据生成是定时任务每小时查询订单表,并按照一定的业务逻辑判断为异常订单统计单个设备在这段时间范围内异常订单总数的;

        SQL大致是这样的:

    SELECT t1.gun_id,sum(total_count) total_countFROM order_exception t1 where is_deleted = 0 and start_date > '2023-04-01 00:00:00' and start_date < '2023-04-07 23:59:59' group by gun_id order by concat(pile_sn,gun_id) asc

        我们的前端报表是每页10行,分页查询;

        这里就出现了第一个优化点,由于我们使用的是mybatis-plus框架,在使用自动分页功能查询数据的时候,他会自动在外面套上查询总数的语句,以计算出一共有多少页;

        像这样:

SELECT COUNT(1) NUM from (你的业务SQL) 

        这样做的话,会导致这个统计语句被执行两次,在数据量大的情况下就很慢;

        我们初步优化一下,由于每页仅可查看10条数据,但是这个聚合的汇总统计语句计算出的是该段时间内所有设备的总异常订单数量,因此我们需要缩小查询的范围:

        1. 使用DISTINCT语句,计算出该统计表中符合查询条件的设备ID,因为在这个业务中每个设备就是一行数据,所以这里查询到的设备数就是该业务报表的总行数;和原SQL的分页逻辑一致;

        2. 在经过一个查询设备ID的分页SQL之后,可以得到需要在该页展示的设备ID,因此使用IN语句去查询这些设备的异常订单数,查询的范围就大大降低了,效率提升明显,不过这里一定别忘了加上设备id的这个索引;修改之后像下面这样子:

SELECT t1.gun_id,sum(total_count) total_count
FROM order_exception t1 where is_deleted = 0 and start_date > '2023-04-01 00:00:00' and start_date < '2023-04-07 23:59:59' and gun_id in 
(
1367069347104690178,
1367069418131034114,
1367069451580608514,
1368462285101600770,
1368462416299429889,
1368462497148833794
)

        这样修改后,查询时间从5秒降低到了0.5秒,这其中还包括查询结果传输到客户端的时间;

修改前后的EXPLAIN执行计划对比:

 很明显扫描的行数rows字段变少了很多;

        最后,由于该表的数据量总是会随着业务量的增长和时间的推移积累越来越多,于是我找产品经理商量了一下,确认了不需要小时频率更新的需求,于是就就将定时任务的执行频率改为每日执行一次;

        经过上面两个步骤的操作之后,SQL的查询范围大大减少,然后该表的数据量也是减少了很多,这样整体的报表业务查询速度就提高了很多;这次的优化主要是两个方面,SQL逻辑的优化和业务逻辑的优化,其实第一点还是相对容易想到的,但是第二点一般的开发同学估计不会去主动沟通,简单记录一下

http://www.yayakq.cn/news/350215/

相关文章:

  • 河南省城乡建设厅网站首页广告外链购买平台
  • 优秀的电商app设计网站虚拟主机加RDS安装wordpress
  • 在百度建免费网站吗可以看任何东西的浏览器
  • 杭州网站设计开发网站建设与维护网课
  • 网站建设服务费应计入什么科目北京网站建立公司
  • 扬州论坛seo是什么意思 部门
  • 长春网站建设phpjziis发布网站后无法加载dll
  • 网站层级关系wordpress主题启用后
  • 自己做的网站 360不兼容站内seo的技巧
  • 广安哪里做网站太原网站建设ty556
  • 广州最大网站建设网店美工的职责
  • 太原网站排名公司哪家好广州 骏域网站建设
  • 济南网站建设推荐q479185700上快大连住房和城乡建设网站
  • 中国专业的网站建设网站建设 平面设计合同
  • 内蒙古自治区精神文明建设网站郑州做网站软件
  • 网站开发 脚本怎么写订制网站建设
  • 网站首图怎么做海西网站建设
  • 购物网站有哪些?高质量的南昌网站建设
  • 西宁网站建设开发公司一步一步教你做网站后台视频
  • 网站建设的费用需求深圳的网站建设公司官网
  • 代码网站怎么制作张家港做网站的公司
  • 怎么把抖音关键词做上去北京优化网站公司
  • 龙岩网站建设方案企业网站如何找词
  • 桐城做网站的公司工程建设项目管理系统
  • 怎样给公司做一个网站做推广如何做阿里巴巴免费网站
  • 怎么做网站需求分析开装潢公司做网站
  • 中文网站建设中模板租服务器空间
  • 曲阜市政对过做网站的是那家网站jquery上传源代码
  • 悠悠我心个人网站模板预付做网站订金怎么做账
  • 给网站做h5缓存机制html代码自动生成器