慢查询

首先,无论进行何种优化,开启慢查询都算是前置条件。慢查询机制,将记录过慢的查询语句(事件),从而为DB维护人员提供优化目标。

检查慢查询是否开启

通过show variables like 'slow_query_log'这条语句,可以找到慢查询的状态(On/Off)。

开启慢查询

本文使用的MySQL版本:MariaDB - 10.1.19,请注意,不同版本的MySQL存在差异。

在[mysqld]下加入:

[mysqld]

port= 3306

slow-query-log=1 # 慢查询:确认开启

slow-query-log-file="D:/xampp/mysql/log/mysql-slow.log" # 慢查询:日志文件及路径

long_query_time = 5 # 慢查询:指定超过5s仍未完成的语句,为执行过慢的语句

优化步骤

观察日志,锁定需要优化的目标语句。注意SQL的设置,譬如:SQL_NO_CACHE。

关注复杂语句写法。复杂语句本身具备高自由度,再加上SQL语法的特殊性,导致了不同的写法的同功能复杂语句,可能具备云泥之别的效率。

明确应用场景,尽管我们在各种场合都有原则,但实际上,如果能够明确应用场景,我们能够针对当前情况,做出本地化的高效优化。

无法优化的语句,当我们通过上述两种方法,以及更多未被本文提及的优化方法之后,可能还是会面对优化失败的情况。业务层面不做出修正的话,数据层面的确是无力可使。

结语

当打出“无法优化”的时候,不禁想到了我所喜爱的游戏设计行业。

如果你了解一二,就会发现,游戏设计中,其实有相当多的优秀设计,但大多数都困窘于当时当地的技术水平,而无法实现多彩纷呈的游戏设计。

也还记得去年做UI的朋友跟我吐槽:我就怕我设计的出来,很炫酷或者很人文,可前端根本实现不了那种设计。

本文标题: 简单谈谈MySQL优化利器-慢查询

本文地址: http://www.cppcns.com/shujuku/mysql/176092.html

mysql慢查询检查流程_简单谈谈MySQL优化利器-慢查询相关推荐

  1. mysql 跳表 b 树_简单谈谈Mysql索引与redis跳表

    摘要 面试时,交流有关mysql索引问题时,发现有些人能够涛涛不绝的说出B+树和B树,平衡二叉树的区别,却说不出B+树和hash索引的区别.这种一看就知道是死记硬背,没有理解索引的本质.本文旨在剖析这 ...

  2. MySQL什么用于左连接_简单谈谈mysql左连接内连接

    前言 最近忙着开发x省冷链追溯系统,天天干到晚上十一点多才回到家,周末也加班,没啥时间写博客,闲下来再好好写写 业务: sql语句统计出入库数据. 问题:只统计了X端入库单. 原因: 没有发现X端的数 ...

  3. mysql int()_简单谈谈MySQL中的int(m)

    我们在设计表的时候,如果碰到需要设置int(整型)的时候,通常会按照惯例(大家都这样写)设置成int(11).那么这里为什么是11呢?代表的又是什么呢? 以前我一直以为这里是在限制int显示的宽度,后 ...

  4. 简单的mysql左链接_简单谈谈mysql左连接内连接

    前言 最近忙着开发x省冷链追溯系统,天天干到晚上十一点多才回到家,周末也加班,没啥时间写博客,闲下来再好好写写 业务: sql语句统计出入库数据. 问题:只统计了X端入库单. 原因: 没有发现X端的数 ...

  5. mysql临时表是什么意思_来谈谈MySQL的临时表,到底是个什么东西,以及怎么样产生的...

    介绍临时表之前,我们首先来看这么一句语句: CREATE TABLE`words` ( `id`int(11) NOT NULLAUTO_INCREMENT, `word`varchar(64) DE ...

  6. mysql如何做计划任务_简单的mysql 过程计划任务

    首先讲讲过程是什么东西, 过程差不多就是SQL用的java之于方法. 把一段sql做成过程后一个简单的调用就可以批量执行这些sql,很方便. 其实就像java后台写个执行复杂sql的方法,你只是把这段 ...

  7. 高性能mysql 小查询_高性能MySQL06-查询优化(慢查询)

    一.分析原因 SQL语句慢查询的原因有多种,如: 1)数据方面: 需要查询的表数据量太大导致性能下降: 是否向数据库请求了不需要的数据行或数据列: MySQL是否在扫描额外的记录 2)SQL语句太过于 ...

  8. mysql支持的并发数_重学MySQL系列(五):谈谈对MySQL的存储引擎的理解

    原创作者,公众号[程序员读书],欢迎关注公众号,转载文章请注明出处哦. MySQL关于存储引擎的架构设计,相较于其他关系数据库管理系统,比如Oracle,SQL Server等数据库,这是MySQL最 ...

  9. mysql启动日志指令_简单整理MySQL的日志操作命令

    1.首先确认你日志是否启用了 ?1MySQL>show variables like'log_bin'; 如果启用了,即ON那日志文件就在MySQL的安装目录的data目录下 2.怎样知道当前的 ...

最新文章

  1. 金融领域首个开源中文BERT预训练模型,熵简科技推出FinBERT 1.0
  2. [转]Mysql中的SQL优化与执行计划
  3. R语言使用plotly绘制3D散点图实战
  4. 2020 年开源许可证最新趋势:67% 为宽松许可证
  5. linux 内核网络协议栈--linux内核路由机制(一)
  6. 中国产业园区发展动态及前景趋势规划建议报告2022-2028年版
  7. 坑 之 TypeError: Cannot create initializer for non-floating point type.
  8. /etc/profile、/etc/bashrc、~/.bash_profile、~/.bashrc(转载)
  9. 美国爆料:量子计算机将如何颠覆一切?
  10. div动态消失的动画效果
  11. 状态服务器与无状态服务器(要点)
  12. 2. 虚拟机常用操作
  13. matlab语句跳转,matlab编程 跳转语句
  14. 无法卸载 Mac 上的磁盘时该怎么办?
  15. payjs 源码_ZFAKA发卡系统用宝塔安装详细图文教程+对接Payjs个人支付版本
  16. chrome消除缓存的默认设置
  17. 2022年PYTHON应用行业,PYTHON就业方向
  18. ppt文件怎么压缩,ppt压缩的办法步骤
  19. CISAW信息安全保证人员介绍
  20. IE浏览器将于明年6月“退役”,程序员和IE的爱恨情仇终结了

热门文章

  1. (五)JS基础知识二(通过图理解原型和原型链)【三座大山之一,必考!!!】
  2. listrecord根据某个属性去重_天刀手游琅纹搭配攻略,全门派全装备最细节提属性教学...
  3. java semaphore 等待时间_一个java同步工具类Semaphore的详解
  4. MongoDB存储文件之GridFS
  5. JavaScript面向对象——深入理解原型继承
  6. dll文件:关于MFC程序不能定位输入点
  7. OpenCV: 图像连通域检测的递归算法
  8. (Redis设计与实现-6) 频道的订阅与退订
  9. java url编码解码
  10. sql server常用函数