当前位置: 网学 > 编程文档 > MySQL > 正文

MySQL 优化之 Slow Query Log

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/19
下载{$ArticleTitle}原创论文样式

从一种 DB 转到另一种 DB 的最初阶段,往往要找自己原来熟悉的工具。拿我自己来说,算是有点 Oracle 的经验,有时被问及 MySQL 优化的东西,就希望找到 MySQL 上类似 Oracle 等待接口或是 SQL Trace 之类的工具,多少有些路径依赖。

Slow Query Log 是 MySQL 的基本 Log 之一。这个优化思路基本上是用 SQL 执行时间 作基准(类似 Oracle 基于等待的优化思想。另外,在 MySQL 中我还没发现根据 逻辑 IO 作基准的方法,这样对于存储层的性能控制就有些不好入手)具体如何操作我就不赘述了。默认情况下,在产品环境中如果临时决定起用该特性是影响可用性的。另外,旧一些的版本时间粒度相对比较大(最小 1 秒钟)。可以通过 Microslow Patch 来解决这个问题(粒度可以到百万分之一秒)。这个 Patch 在开发测试环境也很有用武之地,有些公司的线下开发环境数据不能达到产品环境的规模,如果也把眼光放到抓取执行时间大于 1 秒钟的 SQL 无疑会漏掉很多潜在的问题语句。

在 MySQL 5.0 之后,利用 --log-queries-not-using-indexes 参数可以抓到未使用索引的慢查询。为什么 SQL 没有使用索引,这恐怕是开发 DB 应用的朋友要问的最常见的问题之一。

关于 Slow Query Log 的分析,MySQL 自带有 mysqldumpslow 分析工具,除此之外,也有包装的更好(?)一点的开源工具,比如 MyProfi,以及 Mysql-log-filter。

Sun 收购 MySQL 之后,相信很多人都会对 Dtrace 能否集成到 MySQL 比较感兴趣。其实原来就有人利用 Dtrace 来分析 MySQL 性能问题。不过这个方式门槛还比较高,也没有形成比较清晰的方法论。

网上关于 MySQL 优化的文章汗牛充栋,我这篇就当是读书笔记吧。

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号