Preciso de ajuda para entender o que está acontecendo com meu log de "consulta lenta" no MySQL. Eu arrumei
set global long_query_time=3
e, no entanto, é isso que vejo no log de consulta lento:
# Time: 120723 9:04:38
# User@Host: root[root] @ [111.111.111.205]
# Query_time: 0.017508 Lock_time: 0.000111 Rows_sent: 2884 Rows_examined: 9132
SET timestamp=1343027078;
SELECT [...]
# User@Host: root[root] @ [111.111.111.202]
# Query_time: 0.030282 Lock_time: 0.000102 Rows_sent: 0 Rows_examined: 12323
SET timestamp=1343027078;
SELECT [...]
# Time: 120723 9:04:41
# User@Host: root[root] @ [111.111.111.202]
# Query_time: 0.004416 Lock_time: 0.000104 Rows_sent: 18 Rows_examined: 6266
SET timestamp=1343027081;
SELECT [...]
# User@Host: root[root] @ hostname [111.111.111.199]
# Query_time: 0.029399 Lock_time: 0.000116 Rows_sent: 0 Rows_examined: 12323
SET timestamp=1343027088;
SELECT [...]
# Time: 120723 9:04:53
# User@Host: root[root] @ [111.111.111.201]
# Query_time: 0.004470 Lock_time: 0.000080 Rows_sent: 0 Rows_examined: 6248
SET timestamp=1343027093;
SELECT [...]
# Time: 120723 9:04:55
# User@Host: root[root] @ [111.111.111.198]
# Query_time: 0.042627 Lock_time: 0.000087 Rows_sent: 0 Rows_examined: 0
use [...];
SET timestamp=1343027095;
UPDATE [...]
# User@Host: root[root] @ [111.111.111.198]
# Query_time: 0.029115 Lock_time: 0.000124 Rows_sent: 0 Rows_examined: 0
onde o tempo em Query_time é significativamente menor do que meus 3 segundos especificados anteriormente. Por que isso? Onde está o tempo perdido?
MySQL 5.1.41, Ubuntu 10.04
Ah, eu deveria ter verificado isso primeiro:
log_queries_not_using_indexes foi ativado, portanto, um número inteiro de consultas foi registrado porque não estavam usando índices.
Aparentemente, uma consulta "não usando índices" não é marcada de forma alguma no log de consulta lenta, portanto, é preciso adivinhar se uma entrada foi registrada devido a um tempo de execução que excedeu o limite de long_query_time ou devido a índices.