Slow Query Log
Lo slow query log contiene tutte le query SQL la cui esecuzione è durata troppo tempo.
Attivare lo Slow Query Log
Lo slow query log è disabilitato per default. Per abilitarlo si può usare l'opzione --slow_query_log. La variabile di sistema log_outputdetermina in che modo l'output viene scritto, e può anche disabilitarlo. Per default è scritto in un file, ma può anche essere scritot in una tabella. Il nome del file è determinato dall'opzione --slow_query_log_file=file_name, il cui valore predefinito è host_name-slow.log.
Cosa c'è nello Slow Query Log
Vengono loggate solo le query non amministrative, così come le query che utilizzano gli indici. Può essere particolarmente utile includere nel log le query che non usano indici: si può farlo modificando la variabile log_queries_not_using_indexes.
E' anche possibile loggare le query amministrative lente, come le istruzioni ALTER TABLE, ANALYZE TABLE, CHECK TABLE, CREATE INDEX, DROP INDEX, OPTIMIZE TABLE e REPAIR TABLE, usando la variabile --log-slow-admin-statements.
Il log contiene le query SQL la cui esecuzione è durata più di long_query_time secondi, per default dieci secondi, così come le variabili che hanno dovuto esaminare più di min_examined_row_limit righe. Il tempo impiegato per acquisire i log non è considerato in questo calcolo, solo il tempo per risolvere la query stessa.
Visualizzare lo Slow Query Log
Slow query logs written to file can be view with any text editor, or you can use the mysqldumpslow tool to ease the process by summarizing the information.
Queries that you find in the log are key queries to try to optimize by constructing a more efficient query or by making better use of indexes.