I'm looking for two things:

  1. Awesome manual about writing fast MySQL queries.
  2. Tool which will decompose my query into discrete steps, and give estimations of each step.

I've seen the next tool, but I don't know how to use it.

closed as off-topic by Max Vernon, dezso, Paul White, Vérace, Michael Green Mar 3 '15 at 9:09

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Shopping list question - questions about which tool, library, product or resource you should use are off-topic here because they quickly become obsolete and often are just about the preferences of the answerer. If you have an issue with or a question about a specific tool, please revise your question to conform to that scope." – Max Vernon, dezso, Paul White, Michael Green
If this question can be reworded to fit the rules in the help center, please edit the question.

  • I'm voting to close this question as off-topic because you can Google to find this information - then come back to us if you have specific issues. Take the tour and check out the "help us to help you" blog (both at the bottom of the page. – Vérace Mar 3 '15 at 7:25

I have used HeidiSQL for a while and it have very useful profiling feature that allow to get detailed profile of query execution. Also EXPLAIN is the first tool you have to learn.

Less obvious is that you have to place your databases on the filesystem with noatime option. Each time some software read/write from/to the disk, another implicit write(s) performed - to update "last access time" for accessed files. When noatime active that time is not updated and overall iops is halved.

  • Afaik mysql mmap()s its database files, and such writes ignore noatime(). – peterh May 28 '14 at 13:10

Not the answer you're looking for? Browse other questions tagged or ask your own question.