Mysql 的查询过慢如何排查以及优化

embedded/2024/11/13 23:54:46/

1.慢查询:

        (1).查看慢查询的日志文件有没有打开show variables like ‘slow_query_log’;
        (2).因为默认是没有开启的所以一般我们需要手动的去开启:set global slow_query_log=on;
        (3).查看慢查询的时间:show variables like ‘long_query_time’;
        (4).explain查看分析SQL执行计划:explain select * from log
        (5).通过explain分析具体是那一条sql的问题:explain 具体的sql语句

2.优化方式:
        (1).学会使用explain关键字分析查询语句的执行计划
        (2).在MySQL中,可以使用EXPLAIN关键字来分析查询语句的执行计划,以帮助优化查询性能。EXPLAIN语句返回一个描述查询执行计划的结果集,包括了查询的操作顺序、使用的索引、表之间的连接方式等信息。
        (3).是否索引失效了
        (4).是否进行了全表扫描
        (5).是否有select * 这种字段
        (6).表的结构是否存在问题
        (7).是否存在联表查询表的数量过多出现笛卡尔积这种

3.sql优化

        (1).插入数据

        insert : 批量插入、手动控制事务、主键顺序插入

        大批量插入:load data local infile.

        (2).主键优化:主键长度尽量短、顺序插入

              推荐使用 :AUTO_INCREMENT 

              不推荐:UUID

        (3).order by优化

        using index : 直接通过索引返回数据,性能高

        using filesort : 需要将返回的结果在排序缓冲区排序

        (4).group by 优化 : 索引,多字段分组满足最左前缀法则

        (5).limit 优化 :覆盖索引+子查询

       (6).count 优化 : 性能:count(字段)<count(主键 id) <count(1)<count(*)

             count(1)与count(*)相差不大。

        (7).update 优化:尽量根据主键/索引字段进行数据更新

        


http://www.ppmy.cn/embedded/113513.html

相关文章

语音识别(Speech Recongnition)

Speech Recongnition TTS&#xff08;Text-to-Speech&#xff09;&#xff0c;属于Speech Synthesis 典型模型Tacotron&#xff0c;用的是一个典型的 Seq2Seq Attention 的模型架构。它输出还会有个后处理&#xff08;Post-processing&#xff09;才会产生声音频谱&#xff08…

如何删除git提交记录

今天在提交github时&#xff0c;不小心提交了敏感信息&#xff0c; 不要问我提交了啥&#xff0c;问就是不知道 查了下资料&#xff0c;终于找到简单粗暴的方式来删除提交记录。方法如下 git reset --soft HEAD~i i代表要恢复到多少次提交前的状态&#xff0c;如指定i 2&…

Oracle数据库中的Oracle Real Application Clusters是什么

Oracle Real Application Clusters&#xff08;简称Oracle RAC&#xff09;是Oracle数据库的一个关键特性&#xff0c;它允许多个数据库实例同时访问和管理同一个数据库。这种架构设计的目的是为了提高数据库系统的可扩展性、可用性和性能。 Oracle RAC的核心特点包括&#xf…

局域网windows下使用Git

windows下如何使用局域网进行git部署 准备工作第一步 &#xff0c;ip设置设置远程电脑的ip设置&#xff0c;如果不会设置请点击[这里](https://blog.csdn.net/Black_Friend/article/details/142170705?spm1001.2014.3001.5501)设置本地电脑的ip&#xff1a;验证 第二步&#x…

从数据仓库到数据中台再到数据飞轮:社交媒体的数据技术进化史

前言 大家好&#xff0c;我是在大数据方面具有一定理解的博主。今天我想分享下从数据仓库到数据中台再到数据飞轮:社交媒体的数据技术进化史&#xff0c;也是这篇文章主题。我亲眼目睹了社交媒体的快速发展&#xff0c;以及随之而来的海量数据的生成与积累。如何有效地管理和利…

高级c语言(五)

输出缓冲区&#xff1a; 当我们使用标准库的输出系列函数打印数据到屏幕&#xff0c;数据并不会立即显示到屏幕上&#xff0c;而先存储到一块内存中&#xff0c;我们把这块内存称为输出缓冲区&#xff0c;等满足相关条件后&#xff0c;再从缓冲区中显示到屏幕&#xff0c;相关…

DAY 13 : 排序

定义 稳定排序和非稳定排序 设文件f&#xff08;R1……Ri……Rj……Rn&#xff09;中记录Ri、Rj&#xff08;i≠j&#xff0c;i、j1……n&#xff09;的key相等&#xff0c;即KiKj。 若在排序前Ri领先于Rj&#xff0c;排序后Ri仍领先于Rj&#xff0c;则称这种排序是稳定的&…

机器学习与深度学习的区别

1. 定义 机器学习&#xff08;Machine Learning&#xff09; 定义&#xff1a;机器学习是一种通过构建和训练模型&#xff0c;使计算机能够从数据中学习并做出预测的技术。它包括一系列算法&#xff0c;这些算法可以从数据中识别模式&#xff0c;并使用这些模式对新数据进行预…