Logga långsamma transaktioner i mysql

From Linuxwiki
Jump to navigation Jump to search

Slow query log

Kan användas för att logga de sql-satser som tar längre tid än angiven gräns. Standard-gränsen är 10 sekunder. Loggningen sker till <servernamn>-slow.log om inget annat anges. Inställningarna anges i avdelningen [mysqld] i my.cnf.

Exempel:

log-slow-queries Aktiverar loggning av långsamma transaktioner.
long_query_time = 5 Ställer in tiden till 5 sekunder. 10 sekunder är standard.
log-queries-not-using-indexes Loggar alla transaktioner som inte är indexerade

Notera att det senaste alternativet loggar alla transaktioner som inte är indexerade oavsett hur lång tid dessa tar.

Vill man styra loggningen till en viss fil kan man använda:

log-slow-queries = /new/path/to/file

För att läsa igenom logfilerna rekommenderas kommandot mysqldumpslow som slår samman likadana poster och tar bort användarspecifik data.