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

 


Dernière réponse
Sujet : Problème avec les tables d'un forum :(
Max Evans :bounce:

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
Max Evans :bounce:
Max Evans

Zion a écrit a écrit :

 
 
 
Non tu déconnes  :??:    [:ddr555]  




 
 [:olimou]

zion

Max Evans a écrit a écrit :

 
 
Je suis en train de faire un forum



 
 
Non tu déconnes  :??:    [:ddr555]

Max Evans Sky >> Je viens de tester :
 
La requete est un SELECT ... ... ... ORDER BY dateheure DESC avec jointure qui portent sur deux tables ...
Pour afficher 100 000 topics ; au moins 1.2s :(
 
J'ai donc enlevé le ORDER BY dateheure DESC, et la POUF, temps d'execution : 0.023s !!!!!! :love:
 
Pourtant, il y a bien un index qui porte sur le champ dateheure, c vraiment bizzare :(
 
Personne n'as pas une idee ? :)
ethernal :lol:
Max Evans Nan, g tjs rien trouvé :??:
Max Evans J'ai lu ...
J'ai pas trouvé de truc en rapport avec le pb :D
 
V relire une 2° au cas ou :D
Max Evans V voir ma poule :)
Max Evans

ethernal a écrit a écrit :

 
oui pq pas :)




 
Oki, je v tester :)

ethernal

Max Evans a écrit a écrit :

 
 
Donc, tu suggeres que je stocke le nb de table dans une autre table, ou pk pas ds un fichier .txt ? :)




oui pq pas :)

ethernal e-sky ?
le tien tu sais bien que je l'adore ;)
 
je n'ai pas encore eu l'occasion de tester à fond la version 2, mais elle est bien rapide.
 
c possible que la version PHP 4.2.2 soit plus lente ??
Max Evans

ethernal a écrit a écrit :

il est chouette ton forum  :jap:  
je voulais poster dessus, mais j'ai pas réussi (erreur due à ta transformation actuelle)




 
Merchi bien ;)
Vi pour le moment, il est un peu cassé :D
 
Donc, tu suggeres que je stocke le nb de table dans une autre table, ou pk pas ds un fichier .txt ? :)

ethernal il est chouette ton forum  :jap:  
je voulais poster dessus, mais j'ai pas réussi (erreur due à ta transformation actuelle)
ethernal le plus simple est sans doute de stocker le nombre de table dans la table forum ;)
sinon tu devras faire autant de requête que tu as de table topic, et avec 450.000 enregs ça te fait 450 query :( ce qui à mon avis te prendras plus de temps que de faire une query de 450.000enr
Max Evans Ethernal => Je matte ton code ;)
Max Evans

RELAX Sky a écrit a écrit :

t'a pa d'index ?




 
Si si, sur l'id du topic :)

ethernal soit tu boucles de 1 à n, soit tu stockes le nombre de table dans la table forum.
 
 
//ps : edité, voila c mieux :) je dormais encore :D
$i=0;
do {
  $query= "select count(id) AS nbenr from Topic".$i;
  $i++;
}
while ($row['nbenr']<1000)
//insertion dans topic.$i
 
ou bien  
$query= "select nom, description, nbtable from Forum where id=$forumAAfficher";
//insertion dans topic.$nbtable
Max Evans Ben sur la page d'affichage des topics, je fe :
 
SELECT * FROM topics WHERE ... ORDER BY ... LIMIT 40
Avec ca, il doit parser les 450 000 enregistrements, et ensuite faire le limit :(
C ca qui fait tout ramer :(
Max Evans

RELAX Sky a écrit a écrit :

ha bin oui, un SELECT COUNT(*) FROM topics  c fatal  :lol:  
 
fait un count(index_des_topics)
 
 :lol:  




 
Ce serait pour la page d'affichage des topics ou dans le newtopic.php ?

Max Evans Salut a tous :)
 
Je suis en train de faire un forum, et je m'attaque a un problème assez corriace :(
 
J'ai inséré 450 000 topics pour tester la rapidité de l'affichage sur la page des topics ...
J'ai pas ete decu, ca mets plus de 4s pour s'afficher :( :( :(
 
On m'a parlé de couper les tables ...
Je m'explique :
Tous les 1000 topics, on créé une nouvelle table (topics_1, topics_2, etc)
Tu coup, plus de pb de vitesse puisque ke MySQL ne doit plus parser les 450 000 enregistrements, mais plus que 1000 ! :)
 
J'ai donc essayé, mais vraiment ji arrive pas ...
 
Sur la page pour poster un nouveau topic, il faudrait que je compte le nombre d'enregistrements sur la derniere table des topics ...
Mais justement !!
Voila la requete :
SELECT COUNT(*) FROM topics
 
Sauf que s'il y a par exemple 2250 topics, il faut que le COUNT(*) soit fait sur la table topics2 !!
 
Du coup, comment connaitre la derniere table ?
 
Je vous remercie enormement :)

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)