What is the generally accepted method and tools for profiling MySQL queries? Profiling database queries is difficult, and dependent on database technology.  In MySQL, what is the usual (or, in deference to that, a great) process for profiling a query?

For example:


Run the query.
Use X tool on the query.
Analyze the results of X using a certain tool.
Check indexes....
The first tool is the EXPLAIN that reports the query execution plan supposed by SQL engine. That plan contains the sequence of subselects, available and chosen indices for each, the number of rows selected in each subselect, as well as mechanism chosen to perform each subselect.

Also mysql have a nice profiling tool that can help to localize the problem:

SET profiling=1;
SELECT . . . . . 
SHOW PROFILE;
SET profiling=0;