Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1435 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Gros problème de lenteur inexplicable :(

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Gros problème de lenteur inexplicable :(

n°468092
Max Evans
Posté le 25-07-2003 à 19:23:32  profilanswer
 

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
mood
Publicité
Posté le 25-07-2003 à 19:23:32  profilanswer
 

n°468182
tomlameche
Et pourquoi pas ?
Posté le 25-07-2003 à 21:56:09  profilanswer
 

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é
n°468344
Max Evans
Posté le 26-07-2003 à 11:00:50  profilanswer
 

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


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

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Gros problème de lenteur inexplicable :(

 

Sujets relatifs
Problème avec une Extension Shell Windowsproblème de fichier .htaccess
Problème en upgradant à mysql 4.0.14![C]Probleme de char et string
Probleme avec mon fichier .htaccess[MYSQL] Probleme avec la commande LOAD DATA LOCAL INFILE...
[MYSQL] Probleme avec la commande LOAD DATA LOCAL INFILE...petit problème de largeur pour une balise div
Grosse lenteur de left joinProblème avec str_replace
Plus de sujets relatifs à : Gros problème de lenteur inexplicable :(


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR