Misurazione del tempo di query effettivo su MySQL

Come posso misurare il tempo di esecuzione di una query senza misurare il tempo che trascorre in attesa di una serratura, ecc.? La mia unica idea era quella di misurare continuamente la stessa query e registrare il tempo più veloce.

Avvia il profiler con

SET profiling = 1; 

Quindi esegui la tua query.

Con

 SHOW PROFILES; 

viene visualizzato un elenco di query per il quale il profiler ha statistiche. E infine scegli con quale query esaminare

 SHOW PROFILE FOR QUERY 1; 

o qualunque numero abbia la tua query.

Quello che ottieni è una lista dove esattamente quanto tempo è stato speso durante la query.

Maggiori informazioni nel manuale.

La risposta sta diventando non valida …

SHOW PROFILE[S] è deprecato a partire da MySQL 5.6.7 e verrà rimosso in una futura versione di MySQL. Utilizzare invece lo schema delle prestazioni; vedi http://dev.mysql.com/doc/refman/5.6/en/performance-schema-query-profiling.html