2010-03-20 4 views
7

Le journal de requête lente de MySQL affiche souvent une série d'entrées suivantes dans l'ordre.Requêtes lentes MySQL

SET timestamp=1268999330; 
commit; 
# [email protected]: username[username] @ localhost [] 
# Query_time: 4.172700 Lock_time: 0.000000 Rows_sent: 0 Rows_examined: 0 
SET timestamp=1268999330; 
commit; 
# [email protected]: username[username] @ localhost [] 
# Query_time: 3.628924 Lock_time: 0.000000 Rows_sent: 0 Rows_examined: 0 
SET timestamp=1268999330; 
commit; 
# [email protected]: username[username] @ localhost [] 
# Query_time: 3.116018 Lock_time: 0.000000 Rows_sent: 0 Rows_examined: 0 
... 

Habituellement 6-7 requêtes "commit" en séquence. Quel que soit ce qu'ils sont et quelle est la requête précédente de chacun d'eux?

Merci d'avance.

Répondre

3

La commande set timestamp affecte la valeur renvoyée par now et la valeur que les colonnes d'horodatage automatique reçoivent lorsque leurs lignes sont modifiées.

Ceci est nécessaire pour la réplication et lors de la lecture du journal. Les sémantiques d'interrogation qui dépendent de l'heure actuelle correspondront toujours exactement. (Note sysdate ne tient pas compte set timestamp contrairement now)

le journal assurez-vous que l'horodatage est enregistré avec set timestamp chaque fois qu'il ya une nouvelle connexion, un ping mysql, ou toute instruction exécutée.

+2

@jxac, merci pour votre explication, mais sont les chiffres "Query Time" (4.172700, 3.628924, 3.116018) signifie que la déclaration de "commit" a pris plus de 3 secondes pour s'exécuter? – jack