广告
返回顶部
首页 > 资讯 > 数据库 >mysql in慢查询如何优化
  • 695
分享到

mysql in慢查询如何优化

mysql 2022-12-30 21:12:25 695人浏览 泡泡鱼
摘要

这篇文章主要介绍“Mysql in慢查询如何优化”,在日常操作中,相信很多人在mysql in慢查询如何优化问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mysql in慢查

这篇文章主要介绍“Mysql in慢查询如何优化”,在日常操作中,相信很多人在mysql in慢查询如何优化问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mysql in慢查询如何优化”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

第一步、分析SQL

 ***from event i 
 left join project p on i.project_id = p.project_code 
 left join dict d on i.type_id = d.id 
 left join record re on re.incident_id = i.id
 left join type it on it.id = i.type_id 
 where i.version_flag = 0 and i.flow_id in (大量条件)***复制代码

当flow_id in接入大量条件,sql直接变慢,由之前的80ms到5.8秒,另外此处,关联表较多。

第二步、检查索引,执行explain

当我们检查索引发现re.incident_id和i.flow_id并没有走索引,so,大喜,问题找到了,建索引;然而执行SQL,发现并卵!机智如我,直接打开explain,发现record的type为all,赤裸裸的没走索引啊。

第三步、检查两个关联字段的字段类型、长度和字符类型是否一致

当比较字段类型和字段长度发现完全一致,短暂的郁闷之后,发现了新的线索——

event表的id的字符类型为:

mysql in慢查询如何优化

record表的incident_id的字符类型为:

mysql in慢查询如何优化

果断统一使用utf8mb4与项目组保持统一;再次explain,耗时瞬间低至1秒之内,手工。

第四步、强制使用索引操作

mysql在一个表如果索引基数过小的情况下默认会走全文搜索,所以对于表业务量过大,但是索引字段基本上为同一数据或null的情况 还是需要在sql中写死强制索引;在sql中使用强制索引解决办法 left join 后添加 force index(alarm_id)——

mysql in慢查询如何优化

第五步、IN通常是走索引的

只有当IN后面的数据在数据表中超过30% 的匹配时是全表扫描,不走索引,因此IN走不走索引和后面的数据量有关系。 in大量数据可以使用left join来处理。

到此,关于“mysql in慢查询如何优化”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

您可能感兴趣的文档:

--结束END--

本文标题: mysql in慢查询如何优化

本文链接: https://www.lsjlt.com/news/176374.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • mysql in慢查询如何优化
    这篇文章主要介绍“mysql in慢查询如何优化”,在日常操作中,相信很多人在mysql in慢查询如何优化问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mysql in慢查...
    99+
    2022-12-30
    mysql
  • mysql in慢查询优化
    目录记一次mysql慢查询优化——生产环境待办列表现场演示5~6s才加载出来结果;顿时,产品经理的脸挂不住了,作为多年经验的老开发,心想完犊子,脸啪啪滴。 不过,秉着多年的江湖经验,遇事不慌,拍个...
    99+
    2023-05-12
    mysql in慢查询优化 mysql in慢查询优化
  • MySQL 如何优化慢查询?
    一、前言 在日常开发中,我们往往会给表加各种索引,来提高 MySQL 的检索效率。 但我们有时会遇到明明给字段加了索引,并没有走索引的Case。 进而导致 MySQL 产生慢查询。 严重场景下,甚至出现主从延迟、数据库拖垮的极端事故。 本文...
    99+
    2023-10-08
    mysql 数据库 java
  • mysql in索引慢查询优化实现步骤解析
    目录记一次mysql慢查询优化第一步、分析SQL第二步、检查索引,执行explainwhywhy第三步、检查两个关联字段的字段类型、长度和字符类型是否一致第四步、强制使用索引操作第五...
    99+
    2023-05-20
    mysql in慢查询优化 mysql in索引
  • MySQL优化之慢查询日志
    慢查询日志概述 所谓慢查询日志,就是用于记录MySQL中响应时间超过设定阈值的SQL语句,通过打开慢查询开关,MySQL会将大于阈值的SQL记录在日志中,以便于分析性能。 慢查询日志选项默认是关闭的,如果要开启,则需要手动设置。 ...
    99+
    2021-08-28
    MySQL优化之慢查询日志
  • MYSQL中怎样优化慢查询
    今天就跟大家聊聊有关MYSQL中怎样优化慢查询,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。  MYSQL慢查询优化方法及优化原则:  1、日期大小...
    99+
    2022-10-18
  • Mysql查询优化之IN子查询优化方法详解
    目录物化表物化表转连接总结物化表 首先提出一个不相关的IN子查询 SELECT * FROM s1 WHERE key1 IN (SELECT commo...
    99+
    2023-02-09
    mysql in子查询优化 mysql in语句优化 mysql查询效率优化
  • mysql服务查询慢怎么优化
    mysql中出现查询慢的优化方法把数据、日志、索引放到不同的I/O设备上,从而增加读取速度;根据查询条件,建立索引、优化索引、优化访问方式,限制结果集的数据量。索引应该尽量小,使用字节数小的列建索引,不要对有限的几个值的字段建单一索引如性别...
    99+
    2022-10-19
  • MySQL慢查询优化解决问题
    目录1.  MySQL慢查询介绍2.发现问题(主动/被动)3.找到原因-对症下药1.  MySQL慢查询介绍   MySQL的慢查询日志是MySQL提供...
    99+
    2022-11-13
  • Mysql慢查询优化方法及优化原则
    1、日期大小的比较,传到xml中的日期格式要符合'yyyy-MM-dd',这样才能走索引,如:'yyyy'改为'yyyy-MM-dd','yyyy-MM'改为'yyyy-MM-dd'【这样MYSQL会转换为...
    99+
    2022-10-18
  • MySQL-如何定位慢查询SQL以及优化
    如何定位慢查询SQL以及优化 慢查询日志记录慢SQLexplain查看分析SQL执行计划profile分析执行耗时Optimizer Trace分析详情确定问题采用响应措施 慢查询日志记录...
    99+
    2023-09-12
    sql 数据库 java
  • mysql update join如何优化update in查询效率
    这篇文章主要为大家展示了“mysql update join如何优化update in查询效率”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“mysql...
    99+
    2022-10-18
  • MySQL索引原理及慢查询优化
      MySQL凭借着出色的性能、低廉的成本、丰富的资源,已经成为绝大多数互联网公司的首选关系型数据库。虽然性能出色,但所谓“好马配好鞍”,如何能够更好的使用它,已经成为开发工程师的必修课,...
    99+
    2022-05-31
    MySQL
  • centos7-msyql-慢查询优化
     通过慢查询,可以发现搜索时间较长的语句还有没有使用索引的语句,来发现mysql的瓶颈,进行优化show variables like‘’   可以查询mysql各种配置信息show g...
    99+
    2022-10-18
  • sql语句查询慢如何优化
    优化 SQL 查询性能的方法有很多,以下是一些常见的优化技巧:1. 索引优化:使用适当的索引可以大大提高查询性能。考虑创建索引以支持...
    99+
    2023-09-27
    sql
  • php limit查询很慢如何优化
    这篇文章主要介绍了php limit查询很慢如何优化的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇php limit查询很慢如何优化文章都会有所收获,下面我们一起来看看吧。为什么Limit查询很慢?Limit查...
    99+
    2023-07-05
  • MYSQL的IN查询效率慢的问题
    最近项目的老代码又出问题了,mysql的in查询一次查询了5万个数据,cpu一下飙升到100%,这条查询sql也运行的近600s,那么是什么原因导致mysql的in查询效率如此之低,并且没有走索引呢?...
    99+
    2023-09-10
    mysql 数据库
  • MySQL慢查询优化问题-解决办法
    目的 根据发现的问题,找到原因,然后对症下药 借鉴资料: 没用过慢查询日志,别说自己做过数据库优化 慢查询日志概念 记住七个字搞定索引失效问题 发现问题(主动/被动) 问题点:数据库查询过程中速度过慢的SQL语句 主动:数据库默认情况...
    99+
    2019-08-01
    MySQL慢查询优化问题-解决办法
  • mysql中慢查询优化的示例分析
    这篇文章主要介绍mysql中慢查询优化的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一个用户反映线上一个SQL语句执行时间慢得无法接受。SQL语句看上去很简单(本文描述中修...
    99+
    2022-10-18
  • mysql慢查询优化的方法是什么
    MySQL慢查询优化的方法有以下几种:1. 使用索引:索引可以大大提高查询的速度。需要根据查询语句的特点选择合适的列进行索引,避免全...
    99+
    2023-08-31
    mysql
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作