The ingredients are:

1. tcpdump – check your local package distributor ( apt-get, pkg_add, etc.)

2. a great maatkit tool, mk-query-digest – use wget http://www.maatkit.org/get/mk-query-digest to fetch the simple perl script, then chmod +x it, and move to a dir in path

When the stage is set, cast the following mystic spell:

tcpdump -i eth0 port 3306 -s 65535  -x -n -q -tttt | mk-query-digest \
--type tcpdump  --filter '($event->{No_index_used} \
|| $event->{No_good_index_used})'

Of course replace eth0 with the proper interface and do similarly with the port if mysql listens on a non-default one.

Let it run for a while, possibly redirecting its stdout to a log file, then ctrl-c the beast and study the output. You will be surprised how useful this can prove.

 
  • Twitter
  • Facebook
  • Delicious
  • Technorati Favorites
  • DZone
  • Reddit
  • Blogger Post
  • StumbleUpon
  • BlogMarks
  • Slashdot
  • Digg
  • Plurk
  • LinkedIn
  • Google Reader
  • Tumblr
  • Posterous
  • Orkut
  • Sphinn
  • Stumpedia
  • IWIW
  • Evernote
  • Ask.com MyStuff
  • Yahoo Buzz
  • Taggly
  • Netvibes Share
  • Bebo
  • Blinklist
  • Technotizie
  • WordPress
  • Tipd
  • TechNet
  • Share/Bookmark

Related posts:

  1. A quick and dirty jruby mysql jdbc wrapper

6 Tweets

8 Responses to “A dead simple trick to detect top unindexed or badly indexed mysql queries”

  1. Testy McTester says:

    MySQL already has this functionality built in:

    http://dev.mysql.com/doc/refman/5.1/en/server-options.html#option_mysqld_log-queries-not-using-indexes

    [Reply]

    ochronus Reply:

    @Testy McTester, thanks, nice find, but it’s deprecated and it doesn’t do the same thing, check the description again :)

    [Reply]

Trackbacks/Pingbacks

  1. Twitter Trackbacks for A dead simple trick to detect top unindexed or badly indexed mysql queries | blog@iamnolegend.com [ochronus] [iamnolegend.com] on Topsy.com - [...] A dead simple trick to detect top unindexed or badly indexed mysql queries | blog@iamnolegend.com [o... blog.iamnolegend.com/a-dead-simple-trick-to-detect-top-unindexed-or-badly-indexed-mysql-queries – ...

Leave a Reply

Additional comments powered by BackType