Gros problème de lenteur inexplicable :(

Gros problème de lenteur inexplicable :( - SQL/NoSQL - Programmation

Marsh Posté le 25-07-2003 à 19:23:32    

Bonjour à tous :hello:
 
Je suis actuellement en train de programmer mon forum en PHP/MySQL, et je me heurte a un petit probleme :/
 
Je m'explique :
J'ai une table qui contient juste 20 000 enregistrements ; voici ma requete >
 
SELECT id, icone, titre, auteur, reponse, vue, dernier_auteur, dernier_date, dernier_id_topic, ferme
     
    FROM nono_topic_cat1  
     
    ORDER BY dernier_date DESC
     
    LIMIT 19000,30
 
 
J'ai bien sur une clé PRIMARY sur l'ID du topic, et aussi un INDEX sur le champ DERNIER_DATE :)
 
Malgré cela, le temps de génération s'eleve a 0.9s !
Quand j'effectue un LIMIT 0, 30, la, c'est nikel, je fais du 0.004s.
 
Mais pour le limit 19000, 30, je trouve ca hallucinant :(
Pourtant j'ai bien l'impression d'avoir mis les bons indexes, mais rien n'y fait :(
 
J'ai donc fait un EXPLAIN, et j'obtiens :
 
TABLE : nono_topic_cat1
TYPE : index
POSSIBLE KEYS : NULL
KEY : dernier_date
KEY_LEN : 8
REF : NULL
ROWS : 21032
EXTRA :
 
Ce que j'en déduis, c'est qu'il scanne juste l'arbre des index, mais en entier (Il scanne les 21000 enregistrements).
Si j'enleve mon index sur le champ DERNIER_DATE, j'obtiens exactement les memes temps de generation !
 
Vraiment, la, je ne comprends plus :(
 
Si quelqu'un pouvait m'aider, ce serai vraiment cool ;)
 
 
PS : Le probleme vient du ORDER BY, si je l'enleve, j'obtiens un temps dans les 0.03s.
PPS : J'ai essayé de changé le ORDER BY dernier_date DESC par ORDER BY dernier_id_topic DESC, c'est tjs pareil.
 
Merci a tous ;)


---------------
Envie d'un bol d'air ? Traxxas Revo 3.3
Reply

Marsh Posté le 25-07-2003 à 19:23:32   

Reply

Marsh Posté le 25-07-2003 à 21:56:09    

Ca me parait assez normal, en fait. Vu que tu as un order by et un limit 19000, 30, il est obligé de trier casiment toute la table pour te renvoyer les derniers ...
A la limite, tu pourrai faire order asc et limit 1000, 30 a priori meme résultat mais plus rapide.


---------------
Gérez votre collection de BD en ligne ! ---- Electro-jazzy song ---- Dazie Mae - jazzy/bluesy/cabaret et plus si affinité
Reply

Marsh Posté le 26-07-2003 à 11:00:50    

Arf donc ca parait normal :/
 
Je vais essayer la technique du ASC ;)


---------------
Envie d'un bol d'air ? Traxxas Revo 3.3
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed