当前位置: 首页 > news >正文

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

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 优化:尽量根据主键/索引字段进行数据更新

        

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • UQpy | 不确定性量化Python工具箱推荐
  • SAP Fiori UI5-环境搭建-2022-2024界面对比
  • HarmonyOS学习(十二)——数据管理(一)分布式数据
  • C#实战|大乐透选号器[7]:设计类和对象的方法
  • 共享单车轨迹数据分析:以厦门市共享单车数据为例(四)
  • 【四】k8s部署 TDengine集群
  • Unity3D Android多渠道极速打包方案详解
  • 【机器学习】使用Numpy实现神经网络训练全流程
  • 【资料分析】平均倍数类
  • 【重学 MySQL】十八、逻辑运算符的使用
  • iOS 知识点记录
  • vm-tools的卸载重装,只能复制粘贴,无法拖拽文件!
  • 大数据新视界 --大数据大厂之Kafka消息队列实战:实现高吞吐量数据传输
  • 详解IOC、AOP及常见面试问题
  • SpringBoot 项目 Jar 包加密,防止反编译
  • JS数组方法汇总
  • markdown编辑器简评
  • Python打包系统简单入门
  • use Google search engine
  • 测试开发系类之接口自动化测试
  • 创建一种深思熟虑的文化
  • 从 Android Sample ApiDemos 中学习 android.animation API 的用法
  • 对话 CTO〡听神策数据 CTO 曹犟描绘数据分析行业的无限可能
  • 分享一个自己写的基于canvas的原生js图片爆炸插件
  • 后端_ThinkPHP5
  • 前端每日实战 2018 年 7 月份项目汇总(共 29 个项目)
  • 如何编写一个可升级的智能合约
  • 什么软件可以剪辑音乐?
  • 使用putty远程连接linux
  • 微服务核心架构梳理
  • 微信端页面使用-webkit-box和绝对定位时,元素上移的问题
  • 新版博客前端前瞻
  • 在electron中实现跨域请求,无需更改服务器端设置
  • ​ 无限可能性的探索:Amazon Lightsail轻量应用服务器引领数字化时代创新发展
  • ​2020 年大前端技术趋势解读
  • ​软考-高级-系统架构设计师教程(清华第2版)【第20章 系统架构设计师论文写作要点(P717~728)-思维导图】​
  • # 安徽锐锋科技IDMS系统简介
  • # 日期待t_最值得等的SUV奥迪Q9:空间比MPV还大,或搭4.0T,香
  • $.extend({},旧的,新的);合并对象,后面的覆盖前面的
  • (附源码)python旅游推荐系统 毕业设计 250623
  • (附源码)ssm跨平台教学系统 毕业设计 280843
  • (六)DockerCompose安装与配置
  • (算法)N皇后问题
  • (转)Mysql的优化设置
  • .form文件_SSM框架文件上传篇
  • .NET I/O 学习笔记:对文件和目录进行解压缩操作
  • .net对接阿里云CSB服务
  • .sys文件乱码_python vscode输出乱码
  • @column注解_MyBatis注解开发 -MyBatis(15)
  • @Import注解详解
  • @LoadBalanced 和 @RefreshScope 同时使用,负载均衡失效分析
  • @test注解_Spring 自定义注解你了解过吗?
  • [ vulhub漏洞复现篇 ] AppWeb认证绕过漏洞(CVE-2018-8715)
  • [000-01-022].第06节:RabbitMQ中的交换机介绍
  • [14]内置对象