Mysql优化之优化工具profiling
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缓存,来得到一个客观数据结果。
希望对一起学习的朋友有一丝启迪,带来一些帮助 ^-^
Mysql优化之优化工具profiling的更多相关文章
- Mysql优化_内置profiling性能分析工具
如果要进行SQL的调优优化和排查,第一步是先让故障重现,但是这个并不是这一分钟有问题,下一秒就OK.一般的企业一般是DBA数据库工程师从监控里找到问题.DBA会告诉我们让我们来排查问题,那么可能很多种 ...
- 自制小工具大大加速MySQL SQL语句优化(附源码)
引言 优化SQL,是DBA常见的工作之一.如何高效.快速地优化一条语句,是每个DBA经常要面对的一个问题.在日常的优化工作中,我发现有很多操作是在优化过程中必不可少的步骤.然而这些步骤重复性的执行,又 ...
- Mysql优化_慢查询开启说明及Mysql慢查询分析工具mysqldumpslow用法讲解
Mysql优化_慢查询开启说明及Mysql慢查询分析工具mysqldumpslow用法讲解 Mysql慢查询开启 Mysql的查询讯日志是Mysql提供的一种日志记录,它用来记录在Mysql中响应 ...
- (1.10)SQL优化——mysql 常见SQL优化
(1.10)常用SQL优化 insert优化.order by 优化 1.insert 优化 2.order by 优化 [2.1]mysql排序方式: (1)索引扫描排序:通过有序索引扫描直接返回有 ...
- 1229【MySQL】性能优化之 Index Condition Pushdown
转自http://blog.itpub.net/22664653/viewspace-1210844/ [MySQL]性能优化之 Index Condition Pushdown2014-07-06 ...
- 理解MySQL——索引与优化
转自:理解MySQL——索引与优化 写在前面:索引对查询的速度有着至关重要的影响,理解索引也是进行数据库性能调优的起点.考虑如下情况,假设数据库中一个表有10^6条记录,DBMS的页面大小为4K,并存 ...
- Mysql监控、优化
一.查询语句的生命周期 1.MYSQL服务器监听3306端口 2.验证访问用户 3.创建MySQL线程 4.检查内存(Qcache),当查询命中缓存,MYSQL立刻返回结果,跳过解析.优化.执行阶段. ...
- MYSQL查询语句优化
mysql的性能优化包罗甚广: 索引优化,查询优化,查询缓存,服务器设置优化,操作系统和硬件优化,应用层面优化(web服务器,缓存)等等.这里的记录的优化技巧更适用于开发人员,都是从网络上收集和自己整 ...
- mysql数据库性能优化(包括SQL,表结构,索引,缓存)
优化目标减少 IO 次数IO永远是数据库最容易瓶颈的地方,这是由数据库的职责所决定的,大部分数据库操作中超过90%的时间都是 IO 操作所占用的,减少 IO 次数是 SQL 优化中需要第一优先考虑,当 ...
随机推荐
- 计算机-禁止USB服务
接到一个任务,禁止集团内所有电脑的USB接口进行文件拷贝,但不能妨碍打印机.鼠标键盘.扫描仪.加密狗等等一切需要USB接口工作的外部设备. 纠结了,这不摆明了让我蛋疼吗? 不过,疼归疼,办法总是要想滴 ...
- Python Study(02)之 Context Manager
上下文管理器(context manager)是Python2.5开始支持的一种语法,用于规定某个对象的使用范围.一旦对象进入或者离开该使用范围,会有特殊操作被调用 (比如为对象分配或者释放内存).它 ...
- 用 query 方法 获得xml 节点的值
DECLARE @result xml SET @result='<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelo ...
- Android-自己定义标题栏
Android-自己定义标题栏 2014年4月25日 分享知识点 最近也比較多事情,想发发博客就是心有余而力不足,本篇博文主要教大家怎样实现自己定义标题栏,非常easy.那么聪明的你一下就看懂. 有兴 ...
- Android之弹出菜单框【注冊上下文菜单】
注冊上下文菜单:(长按弹出一个菜单) 第一种创建方法(与长按事件结合): public class MainActivity extends Activity { private TextView u ...
- POJ 3660 Floyd传递闭包
题意:牛有强弱,给出一些牛的强弱的胜负关系,问可以确定几头牛的排名. 思路: Floyd传递闭包 // by SiriusRen #include <bitset> #include &l ...
- Axure设计软件下载安装及注册
如图:本地计算机安装了两个版本的Axure,但8版的有问题,点击保存软件就退出了:7版本要想使用的注册授权 https://blog.csdn.net/botree_chan/article/deta ...
- 截图 gif 图小工具
GifCam gyazo gyazo.com Windows 10 中的内置截屏(Win+G)
- UVa 11729 Commando War 【贪心】
题意:有n个部下,交待每个部下完成他相应的任务需要bi的时间,然后完成这项任务需要ji的时间, 选择交待任务的顺序,使得总的花费的时间最少 因为不管怎么样,交待所需要的n*bi的时间都是要花费的, 然 ...
- npm run eject 命令后出现This git repository has untracked files or uncommitted changes错误
npm run eject 暴露隐藏的文件,不可逆 结果出现下面的问题 This git repository has untracked files or uncommitted changes: ...