Difference between revisions of "Top MySQL Slow Queries from log"
From James Dooley's Wiki
(Created page with "==Overview== Sort the slow query log based on the query time and display the lines after it ==Script== ===Display 2 lines after Query_time=== <code>[bash,n] for i in $(grep -n Q...") |
(→Script) |
||
| Line 3: | Line 3: | ||
==Script== | ==Script== | ||
| − | ===Display 2 lines after Query_time=== | + | ===Display 2 lines before/after Query_time=== |
<code>[bash,n] | <code>[bash,n] | ||
| − | for i in $(grep -n Query_time /home/mysql/slow.log | sort -k3 -nr | head | cut -d: -f1); do line=`sed -n \`echo $i\`p /home/mysql/slow.log`; grep -A2 "$line" slow.log;done | + | for i in $(grep -n Query_time /home/mysql/slow.log | sort -k3 -nr | head | cut -d: -f1); do line=`sed -n \`echo $i\`p /home/mysql/slow.log`; grep -B2 -A2 "$line" /home/mysql/slow.log;done |
</code> | </code> | ||
| − | ===Display 3 lines after Query_time | less=== | + | ===Display 2 lines before and 3 lines after Query_time | less=== |
<code>[bash,n] | <code>[bash,n] | ||
| − | for i in $(grep -n Query_time /home/mysql/slow.log | sort -k3 -nr | head | cut -d: -f1); do line=`sed -n \`echo $i\`p /home/mysql/slow.log`; grep -A3 "$line" slow.log;done | less | + | for i in $(grep -n Query_time /home/mysql/slow.log | sort -k3 -nr | head | cut -d: -f1); do line=`sed -n \`echo $i\`p /home/mysql/slow.log`; grep -B2 -A3 "$line" /home/mysql/slow.log;done | less |
</code> | </code> | ||
Revision as of 14:23, 15 September 2011
Contents
Overview
Sort the slow query log based on the query time and display the lines after it
Script
Display 2 lines before/after Query_time
[bash,n]
for i in $(grep -n Query_time /home/mysql/slow.log | sort -k3 -nr | head | cut -d: -f1); do line=`sed -n \`echo $i\`p /home/mysql/slow.log`; grep -B2 -A2 "$line" /home/mysql/slow.log;done
Display 2 lines before and 3 lines after Query_time | less
[bash,n]
for i in $(grep -n Query_time /home/mysql/slow.log | sort -k3 -nr | head | cut -d: -f1); do line=`sed -n \`echo $i\`p /home/mysql/slow.log`; grep -B2 -A3 "$line" /home/mysql/slow.log;done | less