Empecher l'utilisation d'index mysql

InAme19 Messages postés 573 Statut Membre -  
InAme19 Messages postés 573 Statut Membre -
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. Rusk Messages postés 11 Statut Membre 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.
    0
  2. InAme19 Messages postés 573 Statut Membre 63
     
    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.
    0