mysql慢查询检查流程_简单谈谈MySQL优化利器-慢查询
慢查询
首先,无论进行何种优化,开启慢查询都算是前置条件。慢查询机制,将记录过慢的查询语句(事件),从而为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优化利器-慢查询相关推荐
- mysql 跳表 b 树_简单谈谈Mysql索引与redis跳表
摘要 面试时,交流有关mysql索引问题时,发现有些人能够涛涛不绝的说出B+树和B树,平衡二叉树的区别,却说不出B+树和hash索引的区别.这种一看就知道是死记硬背,没有理解索引的本质.本文旨在剖析这 ...
- MySQL什么用于左连接_简单谈谈mysql左连接内连接
前言 最近忙着开发x省冷链追溯系统,天天干到晚上十一点多才回到家,周末也加班,没啥时间写博客,闲下来再好好写写 业务: sql语句统计出入库数据. 问题:只统计了X端入库单. 原因: 没有发现X端的数 ...
- mysql int()_简单谈谈MySQL中的int(m)
我们在设计表的时候,如果碰到需要设置int(整型)的时候,通常会按照惯例(大家都这样写)设置成int(11).那么这里为什么是11呢?代表的又是什么呢? 以前我一直以为这里是在限制int显示的宽度,后 ...
- 简单的mysql左链接_简单谈谈mysql左连接内连接
前言 最近忙着开发x省冷链追溯系统,天天干到晚上十一点多才回到家,周末也加班,没啥时间写博客,闲下来再好好写写 业务: sql语句统计出入库数据. 问题:只统计了X端入库单. 原因: 没有发现X端的数 ...
- mysql临时表是什么意思_来谈谈MySQL的临时表,到底是个什么东西,以及怎么样产生的...
介绍临时表之前,我们首先来看这么一句语句: CREATE TABLE`words` ( `id`int(11) NOT NULLAUTO_INCREMENT, `word`varchar(64) DE ...
- mysql如何做计划任务_简单的mysql 过程计划任务
首先讲讲过程是什么东西, 过程差不多就是SQL用的java之于方法. 把一段sql做成过程后一个简单的调用就可以批量执行这些sql,很方便. 其实就像java后台写个执行复杂sql的方法,你只是把这段 ...
- 高性能mysql 小查询_高性能MySQL06-查询优化(慢查询)
一.分析原因 SQL语句慢查询的原因有多种,如: 1)数据方面: 需要查询的表数据量太大导致性能下降: 是否向数据库请求了不需要的数据行或数据列: MySQL是否在扫描额外的记录 2)SQL语句太过于 ...
- mysql支持的并发数_重学MySQL系列(五):谈谈对MySQL的存储引擎的理解
原创作者,公众号[程序员读书],欢迎关注公众号,转载文章请注明出处哦. MySQL关于存储引擎的架构设计,相较于其他关系数据库管理系统,比如Oracle,SQL Server等数据库,这是MySQL最 ...
- mysql启动日志指令_简单整理MySQL的日志操作命令
1.首先确认你日志是否启用了 ?1MySQL>show variables like'log_bin'; 如果启用了,即ON那日志文件就在MySQL的安装目录的data目录下 2.怎样知道当前的 ...
最新文章
- 金融领域首个开源中文BERT预训练模型,熵简科技推出FinBERT 1.0
- [转]Mysql中的SQL优化与执行计划
- R语言使用plotly绘制3D散点图实战
- 2020 年开源许可证最新趋势:67% 为宽松许可证
- linux 内核网络协议栈--linux内核路由机制(一)
- 中国产业园区发展动态及前景趋势规划建议报告2022-2028年版
- 坑 之 TypeError: Cannot create initializer for non-floating point type.
- /etc/profile、/etc/bashrc、~/.bash_profile、~/.bashrc(转载)
- 美国爆料:量子计算机将如何颠覆一切?
- div动态消失的动画效果
- 状态服务器与无状态服务器(要点)
- 2. 虚拟机常用操作
- matlab语句跳转,matlab编程 跳转语句
- 无法卸载 Mac 上的磁盘时该怎么办?
- payjs 源码_ZFAKA发卡系统用宝塔安装详细图文教程+对接Payjs个人支付版本
- chrome消除缓存的默认设置
- 2022年PYTHON应用行业,PYTHON就业方向
- ppt文件怎么压缩,ppt压缩的办法步骤
- CISAW信息安全保证人员介绍
- IE浏览器将于明年6月“退役”,程序员和IE的爱恨情仇终结了
热门文章
- (五)JS基础知识二(通过图理解原型和原型链)【三座大山之一,必考!!!】
- listrecord根据某个属性去重_天刀手游琅纹搭配攻略,全门派全装备最细节提属性教学...
- java semaphore 等待时间_一个java同步工具类Semaphore的详解
- MongoDB存储文件之GridFS
- JavaScript面向对象——深入理解原型继承
- dll文件:关于MFC程序不能定位输入点
- OpenCV: 图像连通域检测的递归算法
- (Redis设计与实现-6) 频道的订阅与退订
- java url编码解码
- sql server常用函数