首页 > 其他分享 >记一次线上超时问题处理

记一次线上超时问题处理

时间:2024-03-13 17:11:37浏览次数:16  
标签:index 处理 索引 add user table 超时 id 线上

背景

上午前端业务部同事突然反馈系统某个功能无法使用,并且配上了截图

于是着手处理

问题分析

1、英文的意思概括下来就是接口超时,60秒没有拿到响应结果,超时报错

2、本地连上生产环境重现了问题,发现是sql问题,执行很慢,一个计数sql执行了35s,有点离谱

3、查看执行计划,有两次全表扫描,没有命中任何索引,这里全表扫描的原因是join的字段上没有索引,只能从头扫到尾,效率低就正常了

问题处理

既然知道是索引的问题,那就加上索引吧

alter table ys_user add index index_superior_id(superior_id);
alter table ys_user_gift add index index_subordinate_id(subordinate_id);
alter table ys_user_gift add index index_user_id(user_id);

加入索引之后的执行时间只要0.137s

结束

到此问题解决。

标签:index,处理,索引,add,user,table,超时,id,线上
From: https://www.cnblogs.com/cat-fish-h2/p/18071066

相关文章

  • 批处理自动禁用某个进程
    1、执行如下批处理@echooffechoDisablingProcess...REMtaskkill/F/IMFnHotkeyCapsLKNumLK.exeregadd"HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run"/v"FnHotkeyCapsLKNumLK"/tREG_SZ/d"C:\Windows\System32\DriverStore......
  • 开启线程处理数据,提高响应速度
    //此线程类必须实现Runnable接口publicclassXmzNoticeErrorThreadimplementsRunnable{privateICertImportErrorRecServiceiErrorRecService=ContainerFactory.getContainInfo().getComponent(ICertImportErrorRecService.class);privatei......
  • 面试官:Spring Boot 实现全局异常处理应该怎么实现
    该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点面试官:SpringBoot实现全局异常处理应该怎么实现在SpringBoot中实现全局异常处理可以帮助我们统一处理应用程序中的异常,提高代码的可维护性和可读性。通常情况......
  • c#字符串处理 :多空格,多逗号
    1.正规表达式:System.Text.RegularExpressions.Regex.Replace(str,"([]+)","") --  str是输入或要检测的字符串。正则表达式方法Regex.Replace()和匹配符\s(匹配任何空白字符,包括空格,制表符,换页符等,与[\f\n\t\r\v]等效)//使用正则去除空格,换行,制表符,换页符Regexregex=n......
  • 如何系统的学习Python——异常处理
    异常处理是在程序执行期间检测到的错误或异常情况的处理过程。在Python中,异常由try,except,else和finally语句来处理。以下是一个简单的介绍:1.try和except块:try:#可能会引发异常的代码块result=10/0#除零异常exceptZeroDivisionError:......
  • 关于类字段转换不适用BeanUtils的处理
    举例:VoipConfigureEntityvoipConfigureEntity=xxx;VoipParameterresult=newVoipParameter();BeanUtils.copyProperties(voipConfigureEntity,result);因为BeanUtils不容易定位问题,所以要改出来第一步,删去BeanUtils然后写成这样VoipParameterresult=newVoipParameter(v......
  • 使用@FeignClient中的fallback属性处理接口调用异常问题
    说明当使用feign远程调用接口是,如果接口返回异常或者超时时,我们可以统一返回异常信息,这样调用者就不用再显式的try-catch处理异常了开启接口fallback处理想要使用fallback处理接口异常须在配置文件开启feign:hystrix:enabled:true定义feign接口在@FeignClient上......
  • 【图像超分】论文复现:新手入门!Pytorch实现SRCNN,数据预处理、模型训练、测试、评估全流
    文章目录前言1.准备数据集和数据预处理1.1数据集选择1.2数据预处理1.3评估指标PSNR和SSIM1.3.1PSNR1.3.2SSIM2.定义网络结构3.设置参数并训练模型3.1参数设置3.2模型训练4.测试训练好的模型5.用训练好的SRCNN模型超分自己的图像数据6.其他补充6.1特征图......
  • vue使用Echarts常见警告处理方法
    【警告一】[ECharts]DEPRECATED:textStylehierarchyinlabelhasbeenremovedsince4.0.AlltextStylepropertiesareconfiguredinlabeldirectlynow.这个警告信息是因为你在使用ECharts时,使用了旧版本的配置方式,即在label的配置项中使用了textStyle层级来设......
  • Qt 大小端字节序的处理
    1、EndianOrder什么是大小端字节序(EndianOrder)?以四字节十六进制整型数0x12345678为例,按照书写习惯,从左到右,高位在前,低位在后,我们称0x12为最高有效字节,0x78为最低有效字节,在存储这个数字时,需要四字节的地址空间,比如说从0x00到0x03,地址空间是从低地址0x00到高地址0x03的一段连......