2011-08-24 4 views
2

j'ai ajouté ce qui suit à my.iniLogging requêtes lentes dans MySQL

log_slow_queries = "C:\Program Files (x86)\MySQL\MySQL Server 5.0\mysql-slow.log" 
long_query_time = 3 
log-queries-not-using-indexes 

Je remis en marche le service MySQL. Les requêtes lentes sont répertoriées dans mysql-slow.log mais le problème est que toutes les requêtes sont répertoriées. Je veux répertorier uniquement les requêtes qui prennent plus de 3 secondes

Voici un extrait de mysql-slow.log:

# Query_time: 0 Lock_time: 0 Rows_sent: 29 Rows_examined: 29 
SHOW TABLES LIKE 'tblRaw2%'; 

Ici Query_time est répertorié comme 0 Je veux que les requêtes qui prend plus de 3 secondes. S'il y a des champs plus être définis dans my.ini s'il vous plaît signaler

Merci

+0

show tables commande, mysql interne pourrait traiter cela comme des requêtes n'utilisant pas l'index, avez-vous d'autres exemples que ci-dessus? – ajreal

+0

oui .. ça arrive aussi pour des tables spécifiques. par exemple j'ai une table par le nom tblRaw20110823 et si je fais 'select * from tblRaw20110823' il est listé avec Query_time: 0 – Anuj

Répondre

3

Votre base de données n'a probablement pas indexes et que vous avez défini que:

log-queries-not-using-indexes doit être connecté.

supprimez log-queries-not-using-indexes et réessayez.

3

cela pourrait être utile

http://dev.mysql.com/doc/refman/5.1/en/server-options.html#option_mysqld_log-queries-not-using-indexes

Si vous utilisez cette option avec le journal des requêtes lentes est activée, les requêtes qui devraient récupérer toutes les lignes sont enregistrées. See Section 5.2.5, «Le journal des requêtes lentes». Cette option ne signifie pas nécessairement qu'aucun index n'est utilisé. Par exemple, une requête qui utilise une analyse d'index complète utilise un index mais serait enregistrée car l'index ne limiterait pas le nombre de lignes.

vos deux scénarios ne sont que les cas

Questions connexes