L'activation de «log_queries_not_using_indexes» désactive «long_query_time»?

13

J'ai remarqué que, dans Mysql, lors de l'activation log_queries_not_using_indexes, slow_query_loget long_query_time, le fichier journal de requête lente généré contiendra beaucoup de requêtes même si le temps de requête est bien inférieur à long_query_time.

Il semble qu'une fois le log_queries_not_using_indexesest activé, Mysql enregistrera toutes les requêtes qui n'utilisent pas d'index quel que soit le "long_query_time".

Y a-t-il un moyen de surmonter cela? Je veux dire, existe-t-il un moyen de consigner toutes les requêtes qui prennent plus de temps que long_query_time, qu'elles utilisent des index?

coolcfan
la source

Réponses:

27

C'est un comportement attendu. Consultez la documentation en ligne, mais en résumé:

  • long_query_timeest le seuil de temps d'exécution de la requête au-delà duquel il est enregistré. Toutes les requêtes prenant plus de temps que le seuil sont enregistrées, qu'elles utilisent ou non un index.

  • log_queries_not_using_indexesindique à MySQL de journaliser en outre toutes les requêtes qui n'utilisent pas d'index pour limiter le nombre de lignes analysées. La journalisation de cette condition se produit indépendamment du temps d'exécution.

J'espère que cela explique ce que vous voyez. Il semble que vous vouliez probablement long_query_timeet pas log_queries_not_using_indexes si votre objectif est de capturer uniquement les requêtes qui prennent plus de temps qu'un seuil particulier.

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

http://dev.mysql.com/doc/refman/5.5/en/server-system-variables.html#sysvar_long_query_time

drogart
la source
5
MySQL devrait autoriser la journalisation de chacun de ces deux types de requêtes dans leur propre fichier. J'ai trouvé une technique pour trouver les lignes où l'heure de la requête est répertoriée, ce qui facilite la recherche visuelle des requêtes lentes, mais il serait plus agréable d'avoir des fichiers séparés.
Night Owl
qu'est-ce que cela signifie lorsque vous mentionnez particulièrement ici: "La connexion à cette condition se produit indépendamment du temps d'exécution." ?
user10089632
@ user10089632 lire la doc sous le premier lien ci-dessus.
dezso