<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>http://jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>http://jackxiang.com/post//</link>
<title><![CDATA[[实践Ok]Mysql5.X开启慢日志配置my.cnf及慢日志查看工具mysqldumpslow]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[WEB2.0]]></category>
<pubDate>Sun, 01 Nov 2009 06:06:01 +0000</pubDate> 
<guid>http://jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	mysql5.X开启日志方法:<br/>修改my.cnf的mysqld部分：<br/>long_query_time = 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//定义慢查询的时间1表示1秒<br/>--log-slow-queries[=file_name]&nbsp;&nbsp; //记录慢查询到日志文件<br/>--log-queries-not-using-indexes //将没使用索引的sql记录到日志文件<br/>我配置的正确实例情况如下：<br/><textarea name="code" class="html" rows="15" cols="100">
#slow query search
#add mysql slow query log
long_query_time=2
slow_query_log=1
slow_query_log_file=/data/db/mysql/localhost-xiyou-slowsql.log
</textarea><br/><br/><br/>Sql语句优化<br/><br/>　　Sql语句优化工具<br/><br/>　　·慢日志<br/><br/>　　如果发现系统慢了，又说不清楚是哪里慢，那么就该用这个工具了。只需要为mysql配置参数，mysql会自己记录下来慢的sql语句。配置很简单，参数文件里配置：<br/><br/>　　slow_query_log=d:/slow.txt<br/><br/>　　long_query_time = 2<br/><br/>　　就可以在d:/slow.txt里找到执行时间超过2秒的语句了，根据这个文件定位问题吧。<br/><br/>　　·mysqldumpslow.pl<br/><br/>　　慢日志文件可能会很大，让人去看是很难受的事。这时候我们可以通过mysql自带的工具来分析。这个工具可以格式化慢日志文件，对于只是参数不同的语句会归类类并，比如有两个语句select * from a where id=1 和select * from a where id=2，经过这个工具整理后就只剩下select * from a where id=N，这样读起来就舒服多了。而且这个工具可以实现简单的排序，让我们有的放矢。下面介绍下用法。因为这是个perl脚本，先要安装perl环境。脚本在mysql自带的脚本目录里，我的是在D:&#92;mysql-5.1.30-win32&#92;scripts<br/><br/>　　先mysqldumpslow –help以下，俺主要用的是<br/><br/>　　-s ORDER what to sort by (t, at, l, al, r, ar etc), ‘at’ is default<br/><br/>　　-t NUM just show the top n queries<br/><br/>　　-g PATTERN grep: only consider stmts that include this string<br/><br/>　　-s，是order的顺序，说明写的不够详细，俺用下来，包括看了代码，主要有<br/><br/>　　c,t,l,r和ac,at,al,ar，分别是按照query次数，时间，lock的时间和返回的记录数来排序，前面加了a的时倒叙<br/><br/>　　-t，是top n的意思，即为返回前面多少条的数据<br/><br/>　　-g，后边可以写一个正则匹配模式，大小写不敏感的<br/><br/>　　mysqldumpslow -s c -t 20 slow.txt<br/><br/>　　mysqldumpslow -s r -t 20 slow.txt<br/><br/>　　上述命令可以看出访问次数最多的20个sql语句和返回记录集最多的20个sql。<br/><br/>　　mysqldumpslow -t 10 -s t -g “left join” slow.txt<br/><br/>　　这个是按照时间返回前10条里面含有左连接的sql语句。
]]>
</description>
</item><item>
<link>http://jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] [实践Ok]Mysql5.X开启慢日志配置my.cnf及慢日志查看工具mysqldumpslow]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>