程序员的成长之路 2016-11-23 22:42

Mysql优化之优化工具profiling

前言

mysql优化技术:

mysql优化不是做一个操作就可以的优化,它包含很多的细节,需要一点一点的优化,最后这个性能提升会很高 .

引申

假设有这样的需求:

网站现在很慢 ? 项目里面有很多的sql ,众多的sql里面找到性能很差的sql呢?

什么是慢查询: 性能低效的sql

先来看一下这个东西, show variables like "%slow%"; # 查看慢查询的一些东西

注:慢查询低效的sql会被记录在 slow_query_log_file

并且允许我们更改此文件的位置

eg: set global slow_query_log_file = "d:/slow.log";

接下来什么又称作性能低效的sql呢:

就是你的sql执行的时间超过你无法忍受的时间

如何查看默认的无法忍受的时间:

eg: show variables like "long_query_time"; #默认是10秒

因此,假设我们无法忍受的时间 设置为 1秒

set long_query_time = 1;

则执行时间超过1秒的sql都会被记录到d:/slow.log文件中,让后进行分析与优化。

性能优化的工具

当我们已经找到了一些慢查询之后,就需要我们借助一些工具来分析,也就是本次要用到的profiling

如果记不太清了,可以执行下面sql找一下

eg: show variables like "%pro%";

会看到这么一条数据:profiling | OFF

首先,需要开启这个优化工具:

set profiling = 1;

然后,开始分析sql:show profiles;

会查到三列数据:Query_ID 查询编号,Duration 执行时间 Query 查询的sql语句

我们发现Duration的时间精度更细,这能方便我们更细的观察优化的效果。

我们还可以查询某一条,更细的执行情况

eg: show profile for query 4;

这能让我们更加深入的了解sql各个过程执行的时间,来检验我们做的sql语句优化的提升效果。

最后,题外话

为了让我们的分析结果更准确,还应该熟练使用 reset query cache; #清除sql缓存,来得到一个客观数据结果。

希望对一起学习的朋友有一丝启迪,带来一些帮助 ^-^

最新文章

  1. python中文编码问题
  2. Apache+Tomcat配置方法
  3. ibm v3700
  4. PHP json_encode / json_decode
  5. [工具][windows][visualStudio][充电]番茄助手vaassist常见用法
  6. Android开发-API指南-Content Provider
  7. Shell教程6-Shell注释
  8. 做最好的自己(Be Your Personal Best)
  9. db file scattered read
  10. c#兼容 PHP中的md5
  11. install plugin elasticsearch-analysis-ik
  12. 0基础搭建Hadoop大数据处理-编程
  13. 限制input[type=number]的输入位数策略整理
  14. 闭锁——CountDownLatch
  15. struts配置json需要的jar包
  16. systemd 编写服务管理脚本
  17. Python之黏包的解决
  18. 从二进制数据流中构造GDAL可以读取的图像数据(C#)
  19. target = e.target || e.srcElement(转载)
  20. js方法传入对象;js方法传入方法;js方法回调 callback

热门文章

  1. RobotFrameWork+APPIUM实现对安卓APK的自动化测试----第二篇【原理】
  2. Forge.autodesk平台的使用
  3. Class example in C/C++
  4. NFS安装和配置
  5. WebGL 权威资源站小聚
  6. 自己动手写CPU之第七阶段(6)——乘累加指令实现思路
  7. hdu 3697 Selecting courses (暴力+贪心)
  8. 指针,c语言的灵魂
  9. Pocket英语语法---六、感官动词接不同的动词表示什么意思
  10. zzulioj--1858--单词翻转(模拟)