Empecher l'utilisation d'index mysql

Bonjour à tous,

dans le cadre d'optimiser la vitesse d'execution de mes requêtes, j'ai créé un index.

Mais j'ai un soucis.

Avant création de l'index:
Requête 1 -> rapide
Requête 2 -> lente

Après création de l'index:
Requête 1 -> lente
Requête 2 -> rapide

la requête 1 utilise l'index alors que cela ralentit son execution...
Existe t-il un moyen d'empêcher la requête 1 d'utiliser l'index?

Merci d'avance

2 réponses

  1. Montre nous tes deux requêtes déjà... ca vas aidé.
    Mais ci ta requête 1 et un INSERT et la 2 un SELECT c'est logique que l'index la ralentisse. Après moi, je dis ca dans le vide car j'ai pas plus de précision sur tes requêtes.
    1. Alors oui je ne parle pas d'INSERT car cela est normal que ça ralentisse.

      Je parle de 2 SELECT

      Requête 1:

      SELECT DISTINCT ll.idaction_url, count( ll.idaction_url ) AS hits
       FROM wa_log_link ll
        WHERE ll.idsite =2
         AND ll.visit_server_date
          BETWEEN '2010-01-03'
          AND '2010-05-27'
         GROUP BY ll.idaction_url
         ORDER BY hits DESC
         LIMIT 0 , 15
      


      Requête 2:

      SELECT idaction_url, count( idaction_url )
       FROM wa_log_link
        WHERE idaction_url_ref =5
        AND (
                idaction_url =5
                OR idaction_url =76284
                OR idaction_url =26
                OR idaction_url =21
                OR idaction_url =16
        )
      AND idsite =2
      AND visit_server_date
      BETWEEN '2006-01-01'
      AND '2010-05-27'
      GROUP BY idaction_url
      ORDER BY count( idaction_url ) DESC
      


      Si je fais un index sur idaction_url,visit_server_date,idsite la requête 2 est plus rapide mais la requête 1 devient lente.