Empecher l'utilisation d'index mysql
InAme19
Messages postés
573
Statut
Membre
-
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
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
-
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. -
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.