Difference between revisions of "Top MySQL Slow Queries from log"

From James Dooley's Wiki
Jump to: navigation, search
(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

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