首页 > 数据库 >mysql当数据库发现了慢sql怎么定位?--待验证

mysql当数据库发现了慢sql怎么定位?--待验证

时间:2024-10-18 17:13:11浏览次数:7  
标签:Object -- class 链路 mysql public sql id

1、应用侧生成链路id。
使用skywalking

2、mybatis写拦截器,sql里面加入链路id
`@Intercepts({
@Signature(
type = StatementHandler.class,
method = "prepare",
args = {Connection.class, Integer.class}
)
})
public class SqlStatementInterceptor implements Interceptor {

@Override
public Object intercept(Invocation invocation) throws Throwable {
    StatementHandler statementHandler = (StatementHandler) invocation.getTarget();
    String sql = statementHandler.getBoundSql().getSql();
    System.out.println("执行的 SQL: " + sql);
    // 可以在这里修改 sql

//todo 从threadloal中获取链路id, 然后拼接到sql中。
比如 sql=“/”+链路id+"/"+sql;
// statementHandler.getBoundSql().setSql(modifiedSql);
// 然后继续执行后续操作
return invocation.proceed();
}

@Override
public Object plugin(Object target) {
    return Plugin.wrap(target, this);
}

@Override
public void setProperties(Properties properties) {
    // 可以设置拦截器属性
}

}`

3| 后续导出来的慢sql,自然就会带着traceid。
后续就可以拿着这个traceid去链路追踪平台搜索了。或者去日志里面找相关的业务

为什么不直接从链路追踪的慢sql统计上看 ?

有可能太长了,应用崩了, 慢sql无法记录。但是日志文件肯定在, 看业务日志也能定位问题


手动测试的相关截图


标签:Object,--,class,链路,mysql,public,sql,id
From: https://www.cnblogs.com/awaking/p/18474651

相关文章

  • Echarts 关于formatter的使用
    其实这个 formatter很实用哈,可以自定义很多格式内容,尤其是提示和图例那边,还有柱状图的内容啥的官网给的案例啊,看不懂哈哈哈来点自己的小经验,几乎都可以实用啊,而且可以搭配rich自定义样式,1、字符串模板最简单的就是这样使用的,关于参数,这个官网给答案了,用啥取啥就行了, to......
  • ARM架构鲲鹏主机BClinux离线安装docker步骤
    ■下载arm架构二进制文件安装包http://mirrors.163.com/docker-ce/linux/static/stable/aarch64/docker-27.3.1.tgz21-Sep-202401:3666M■解压二进制文件移动到/usr/bin目录tarxvfzdocker-27.3.1.tgzls-ldockercpdocker/......
  • 20222424 2024-2025-1 《网络与系统攻防技术》实验二实验报告
    202224242024-2025-1《网络与系统攻防技术》实验二实验报告1.实验内容使用netcat获取主机操作Shell,cron启动某项任务使用socat获取主机操作Shell,任务计划启动使用MSFmeterpreter(或其他软件)生成可执行文件(后门),利用ncat或socat传送到主机并运行获取主机Shell使用MSFmete......
  • 网络常用工具
    软件工具puttySecureCRTCMD华为模拟器-enspwindwos常用命令pingtracertnslookupipconfigtelnet硬件工具Console线网络钳寻线仪红光笔光功率计故障处理常用方法对比分析互换分析仪表测试分段处理常见故障私接路由排查通过arp-a获取mac地址,再通过交......
  • 线性代数--向量
    向量n个数a1a2......an组成的有序数组(a1a2......an)a1..又称为分量维数行向量列向量只是形式不同零向量分量全是0负向量相反数两个向量相等同维向量向量相加减k是数另一个是向量向量间的线性关系线性关系:用某些向量能表示一个向量线性组合:β,α1,......
  • 使用yum命令只下载软件包到本地目录
    yum下载rpm包到指定目录,只下载不安装yuminstall--downloadonly--downloaddir=路径安装包名实例:yuminstall--downloadonly--downloaddir=/usr/locallibXScrnSaver安装rpm-Uvh--force--nodeps*.rpm实例:rpm-Uvh--force--nodepslibXScrnSaver-1.2.2-6.1.el7.x86......
  • Unity引擎CSharp数据加密通用提取方法
    CSharp一般数据加密后解密使用CryptoStream::Read解密,在程序启动时Hook该函数,然后可以截获到解密的数据步骤:Hook引擎mono的函数mono_runtime_invokeAsmHook::HOOK_INFO _mono_runtime_invoke;BOOL__cdeclhook_mono_runtime_invoke(VOID*pUserParam,AsmHook::......
  • CE243 CSEE handling Task
    SchoolofComputerScienceandElectronicEngineering(CSEE)1CE243(NWU)Assignment1ObjectivesThisassignmentaimstodemonstrateyourmasterofadvancedCprogrammingskills.TheTaskYoushallwriteaCprogramtoimplementsometexthandlingtask.......
  • 通义灵码上线一周年:超 600 万下载量,国内用户规模第一,新功能有奖测评
    通义灵码,是基于通义大模型的AI研发辅助工具,包含AI编码助手和AI程序员。其中,AI编码助手为开发者写代码、补代码、写注释、写单测、写代码优化和排查问题,是开发者的编码搭子;AI程序员是一个AI编程智能体,可以模拟软件架构师、开发工程师、测试工程师等多种岗位能力,分钟级自......
  • 超简单的婴儿哭声检测实现方案--python版
    超简单的婴儿哭声检测实现方案--python版1.构建项目项目结构└─audio_data##音频文件├─mp3├─test└─wav##训练音频源文件每个目录代表不同的标签,自己定义和随意增加,cry目录存放的是婴儿的哭声├─cry├─non_cry└─other└─get-model.py└─main.py└......