博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySQL - 慢查询
阅读量:6808 次
发布时间:2019-06-26

本文共 775 字,大约阅读时间需要 2 分钟。

慢查询

首先,无论进行何种优化,开启慢查询都算是前置条件。

慢查询机制,将记录过慢的查询语句(事件),从而为DB维护人员提供优化目标。

检查慢查询是否开启

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

开启慢查询

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

在[mysqld]下加入:

[mysqld]port= 3306slow-query-log=1 # 慢查询:确认开启slow-query-log-file="D:/xampp/mysql/log/mysql-slow.log" # 慢查询:日志文件及路径long_query_time = 5 # 慢查询:指定超过5s仍未完成的语句,为执行过慢的语句

优化步骤

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

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

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

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

结语

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

如果你了解一二,就会发现,游戏设计中,其实有相当多的优秀设计,但大多数都困窘于当时当地的技术水平,而无法实现多彩纷呈的游戏设计。
也还记得去年做UI的朋友跟我吐槽:我就怕我设计的出来,很炫酷或者很人文,可前端根本实现不了那种设计。

转载地址:http://vwhwl.baihongyu.com/

你可能感兴趣的文章
查看MySQL版本
查看>>
IE8的项目在IE11下 一些功能无法实现的解决方案
查看>>
关于extern的使用
查看>>
Zsh安装及常用操作
查看>>
Expected BEGIN_OBJECT but was BEGIN_ARRAY at line 1 column 2 path 解决办法
查看>>
Saltstack系列2:Saltstack远程执行命令
查看>>
使用工厂方法模式实现多数据库WinForm手机号码查询器(附源码)
查看>>
C#中窗体的close,dispose,以及application.exit()的区别
查看>>
github的使用 sourceTree
查看>>
iOS POST 上传图片
查看>>
Codeforces Round #435 (Div. 2) E. Mahmoud and Ehab and the function[二分]
查看>>
最全面的 Spring 学习笔记
查看>>
【037】Excel 中遍历修改文件(VBA)
查看>>
nw.js---创建一个点击菜单
查看>>
python+selenium常见坑
查看>>
Android基于mAppWidget实现手绘地图(九)–如何处理地图对象的touch事件
查看>>
Flash CS 6绘图技巧之锁定填充
查看>>
RHEL6.3 DNS高级技术三 通过rsync实现DNS View访问列表文件同步
查看>>
Microsoft Hyper-V Server 2012快速上手之创建脚本运行环境
查看>>
Hadoop周边生态软件和简要工作原理(一)
查看>>