Optimisation d'un tri Mysql

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par davidtennis, 23 Juillet 2011.

  1. davidtennis
    davidtennis WRInaute discret
    Inscrit:
    5 Avril 2007
    Messages:
    54
    J'aime reçus:
    0
    Bonjour,

    J'ai une requête sur mon serveur mysql qui est comme ceci :
    SELECT nom,age,photo FROM participants WHERE genre='1' ORDER BY numero DESC

    Cette requête est extrêmement lente (0.5s) malgré le fait que dans ma table les champs genre et numero sont des entiers avec INDEX.

    Je crois que ce qui est lent est le ORDER BY numero (il doit trier qqes centaines de milliers de champs). Apparemment MYSQL n'utilise pas de clé pour trier le ORDER BY quand la clé utilisée dans le WHERE est différente. Ce qui est mon cas (cf http://dev.mysql.com/doc/refman/5.0/en/order-by-optimization.html)

    Il faudrait pouvoir forcer MYSQL à utiliser l'INDEX numero pour trier. Auriez-vous une solution ?

    Merci
     
  2. IllusionPerdu
    IllusionPerdu WRInaute discret
    Inscrit:
    11 Mars 2006
    Messages:
    130
    J'aime reçus:
    0
    Peut être en faisant genre
    SELECT nom,age,photo FROM participants WHERE genre='1' AND numero <> 99999999 ORDER BY numero DESC
    Avec évidement le 99999999 qui est sur une valeur qui n'hésiste pas ! Avec ceci ca permet que numero soit dans le where et donc ça force l'utilisation de l'index ;)
     
  3. Leonick
    Leonick WRInaute accro
    Inscrit:
    8 Août 2004
    Messages:
    19 274
    J'aime reçus:
    0
    et en mettant un index sur genre+ numero ?
     
  4. longo600
    longo600 WRInaute passionné
    Inscrit:
    24 Février 2005
    Messages:
    2 166
    J'aime reçus:
    7
    je n'utilise pas de base sql, donc, mon commentaire reste au conditionnel (j'utilise 4D depuis 20 ans, et comme je connais bien, je m'y tient).

    En règle générale, si un champ est indexé, le tris doit se faire sur un index non?
    le tris sur des numérique est plus rapide que sur des alpha, il me semble?

    Si tu utilise un tri régulièrement et qu'un champ te pose problème, tu as la solution de faire un tris permanent sur ce champ.
    Ainsi, tu n'aura plus a trier si il y a une demande de tri dessus. Ce seront les autres champs qui devront être triés par défaut.
    Si je suis assez clair dans mon explication ...?
     
  5. Leonick
    Leonick WRInaute accro
    Inscrit:
    8 Août 2004
    Messages:
    19 274
    J'aime reçus:
    0
  6. jcaron
    jcaron WRInaute accro
    Inscrit:
    13 Février 2004
    Messages:
    2 579
    J'aime reçus:
    0
    Il te faut impérativement un index sur genre et numero (un index sur les deux colonnes, dans cet ordre, pas un index sur chaque), et il te faut probablement remettre genre dans le order by (order by genre, numero).

    Jacques.
     
Chargement...
Similar Threads - Optimisation tri Mysql Forum Date
sur optimisation des atributs alt et title Débuter en référencement 28 Juillet 2009
[Techniques d'optimisation] Association attributs/balises... Référencement Google 3 Novembre 2008
Limite entre optimisation du référencement et triche ? Référencement Google 23 Juillet 2004
Optimisation de l'attribut title de la balise a Référencement Google 28 Mai 2004
site trilingue : besoin de conseils pour optimisation Référencement international (langues, pays) 9 Avril 2003
Optimisation d' un site avec Yoast Débuter en référencement 5 Mai 2022
WordPress Avis et question concernant une optimisation dû à de multiples sites Demandes d'avis et de conseils sur vos sites 18 Avril 2022
Optimisation publication FB Facebook 14 Avril 2022
Optimisation d'une page : Titre du Site et Menu comment les inclure? Débuter en référencement 13 Septembre 2021
Astuce Optimisation des URLs Débuter en référencement 15 Juin 2021
WordPress PageSpeed - optimisation - fonts Développement d'un site Web ou d'une appli mobile 27 Janvier 2021
Optimisation SXO de site web de mon agence Référencement Google 22 Janvier 2021
Avis et optimisation sur blog voyage Demandes d'avis et de conseils sur vos sites 24 Décembre 2020
Optimisation du Cumulative Layout Shift (CLS) Référencement Google 8 Décembre 2020
Optimisation URL pour les moteurs de recherche Débuter en référencement 15 Novembre 2020
Optimisation site Wordpress Débuter en référencement 21 Août 2020
Optimisation des publicités / revenus AdSense 19 Juillet 2020
WordPress optimisation des temps de chargements Débuter en référencement 28 Juin 2020
Optimisation pour la catégorie de produits de commerce électronique Rédaction web et référencement 26 Juin 2020
Astuce optimisation image au format Webp YouTube, Google Images et Google Maps 6 Avril 2020