MySQL Forums
Forum List  »  French

Re: Besoin d'aide sur une requête sur deux tables
Posted by: Jean Molliné
Date: March 05, 2012 04:53AM

« longue » ? ou « lente » ?
Dans le premier cas, c'est vraiment une petite requête. Mais si elle est lente, il faut pointer l'absence d'index sur les tables qui en est la principale cause.
Il faut peut-être aussi tenir compte du nombre important d'enregistrements à trier : en plus de l,absence d'index, ça peut effectivement ralentir considérablement l'opération. Le cas échéant, on retrouvera cette requête dans le log de requêtes lentes s'il est activé, à vérifier si nécessaire.

Dans ce cas, un EXPLAIN sur la requête devrait souligner ces effets secondaires :
EXPLAIN SELECT t.champ1,t.champ3,t.champ2
FROM t
  INNER JOIN  t0 ON t.champ2 = t0.champ2
                AND t.champ3 NOT IN(
                  SELECT DISTINCT(t0.champ3)
                  FROM t0
                  WHERE t0.champ2=t.champ2
                );
Il en ressortira un tableau d'informations utiles pour tenter d'optimiser tout ça.
À l'exécution, MySQL indique également la durée de cette exécution, ce serait une indication utile ici, je ne peux pas me prononcer davantage sans plus de détails.

______________________________________________________________
Une question bien formulée, c'est un problème bien compris : ça représente déjà les 3/4 de la réponse ;)

Options: ReplyQuote


Subject
Views
Written By
Posted
Re: Besoin d'aide sur une requête sur deux tables
1845
March 05, 2012 04:53AM


Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.