如何分析慢SQL语句

news/2024/10/4 23:30:26

如果一条sql执行很慢的话,通常会使用MySQL自动的执行计划explain来去查看这条sql的执行情况,比如在这里面可以通过keykey_len检查是否命中了索引,如果本身已经添加了索引,也可以判断索引是否有失效的情况,第二个,可以通过type字段查看sql是否有进一步的优化空间,是否存在全索引扫描或全盘扫描,第三个可以通过extra建议来判断是否出现了回表的情况,如果出现了,可以尝试添加索引或修改返回字段来修复。

  • possible_keys 当前sql可能会使用到的索引

  • key 当前sql实际命中的索引

  • key_len 索引占用的大小
    通过它们两个查看是否可能会命中索引

  • Extra 额外的优化建议

    Extra 含义
    Using where; Using Index 查找使用了索引,需要的数据都在索引列中能找到,不需要回表查询数据
    Using index condition 查找使用了索引,但是需要回表查询数据
  • type这条sql的连接的类型性能由好到差为NULL、system、const、eq ref、ref、range、 index、all,实际开发过程中至少保持到range类型。

    • system:查询系统中的表
    • const:根据主键查询V
    • eq_ref:主键索引查询或唯一索引查询
    • ref:索引查询
    • range:范围查询
    • index:索引树扫描
    • all: 全盘扫描

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/28848.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

sonarqube(一)安装

一、前置条件: 安装工具如下:JDK MySql服务器 SonarQube SonarScanner二、下载和安装 1.jdk和mysql和sonar有版本对应的要求,sonar7.5对应jdk1.8和mysql>=5.6,<8.0 下载地址:http://www.sonarqube.org/downloads/ 下载完成后解压后点击StartSonar.bat启动即可。 或者…

GreatSQL的sp中添加新的sp_instr引入的bug解析

GreatSQL的sp中添加新的sp_instr引入的bug解析 一、问题发现 在一次开发中用到的sp需要添加新的sp_instr以满足需求,但是添加了数个sp_instr以后发现执行新的sp会发生core。注:本次使用的GreatSQL 8.0.32-251、sp_head.cc的init_sp_psi_keys()代码里面添加10个新的sp_instr:…

对于习惯使用ftp传输的企业,如何寻找最佳的替代方案?

FTP协议广泛应用各行业的文件传输场景中,对于很多企业而言,由于FTP传输应用获取门槛低、使用普遍,因此,有较为稳定的FTP使用习惯,但即便如此,也不得不面对,FTP应用存在着严重缺陷: 传输效率问题:FTP协议作为最早的互联网文件传输协议,虽然解决了传输协议有无的问题,…

Keil编译后的Code,RO,RW,ZI等相关

在使用keil开发STM32应用程序时,点击Build后在Build Output窗口中经常会有如下信息:以前一直好奇这几个参数和实际使用的STM32芯片中Flash和SRAM的对应关系,于是上网搜了一圈,做如下总结:这些参数的单位是Byte 图中几个参数分别代表 Code:代码的大小 RO:常量所占空间(加…

团队项目第一阶段评分及其点评

1组:调用对话接口,但内容太少,页面不美观 2组:页面不行,作品阶段质量太差 3组:内容太少 4组:页面整体可以,内容可以 5组:页面整体美观,内容较好 6组:内容较多,质量可以 7组:质量较好 8组:内容太少,质量差 9组:内容可以,质量较好 10组:内容多,质量好 11组:创…

Windows下使用ONNXRuntime的GPU进行推理时提示cudnn64_8.dll异常

一、问题复现 将模型放到GPU上推理时时发生的异常。 OrtSessionOptionsAppendExecutionProvider_CUDA(session_options, 0);...ort_outputs = session_.Run(Ort::RunOptions{ nullptr }, inputNames.data(), &input_tensor_, 1, outNames.data(), outNames.size());二、解决…

攻防世界 easyphp

打开场景 这种难度为1的题目,可能是把代码都放前端,让我们读。可以看到要传3个参数a、b、c a满足:转换为整数后大于6000000&&长度<=3,1e7 1e8 1e9都可以 b满足:md5加密后,后6位是8b184b,这里暴力枚举一下就行 c满足:json格式的数组,有两个索引c[m],c[n]。c…

k8s——核心概念篇

服务的分类 有状态代表应用nginx apache优点对客户端透明,无依赖关系,可以高效实现扩容,迁移缺点不能存储数据,需要额外的数据服务支撑无状态代表应用MYSQL Redis优点可以独立存储数据,实现数据管理缺点集群环境下需要实现主从,数据同步,备份,水平扩容负载。资源和对象…