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

 


 Mot :   Pseudo :  
  Aller à la page :
 
 Page :   1  2  3  4  5  ..  140  141  142  ..  486  487  488  489  490  491
Auteur Sujet :

les développeurs de forums, les 3/4 des forums sont down /o\

n°776517
skylight
Made in France.
Posté le 24-06-2004 à 17:42:38  profilanswer
 

Reprise du message précédent :

drasche a écrit :

des jointures, j'en ai encore mais c'est plus clairsemé qu'auparavant ;) (ce qui me lourde encore un peu, c'est la table des privilèges mais ça me paraît acceptable; mais ce sera pire quand je devrai implémenter les groupes d'utilisateurs :fouyaya:)

Je gère les groupes d'utilisateurs, et je ne fais pas de jointures :)
 
MySQL sait faire plein de choses, mais PHP aussi.
fais des requetes simples, et construis des tableaux en PHP, effet garanti. (in_array(), ...)

mood
Publicité
Posté le 24-06-2004 à 17:42:38  profilanswer
 

n°776518
drasche
Posté le 24-06-2004 à 17:45:56  profilanswer
 

je suppose que tu as déjà de ça un peu partout dans ton forum? :D  faudrait que j'y jette un oeil de temps en temps (mes connaissances en PHP restent encore assez limitées).
 
Dès que j'aurai une version qui fonctionne, je posterai un zip des sources sous GPL :o


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°776550
skylight
Made in France.
Posté le 24-06-2004 à 17:56:27  profilanswer
 

J'ai ca dans la v5, pas dans l'affreuse v4 :D

n°776554
skylight
Made in France.
Posté le 24-06-2004 à 17:57:48  profilanswer
 

drasche a écrit :

(mes connaissances en PHP restent encore assez limitées).
 


 
Quand j'ai commencé a coder la v5, j'ai surtout regardé du coté de PHP, afin d'alléger au max MySQL (qui plombe un serveur)
 
Et PHP est plutot bien garni, ca ne coute rien en temps de faire des tableaux dynamiques, ou presque, comparé a une requetet SQL avec jointure.

n°776557
chaced
Posté le 24-06-2004 à 17:59:35  profilanswer
 

skylight a écrit :

Quand j'ai commencé a coder la v5, j'ai surtout regardé du coté de PHP, afin d'alléger au max MySQL (qui plombe un serveur)
 
Et PHP est plutot bien garni, ca ne coute rien en temps de faire des tableaux dynamiques, ou presque, comparé a une requetet SQL avec jointure.


 
Question bete, pourquoi ne pas décharger un max le serv SQL, genre, pour les trucs courrant comme les couleurs par defaut, tout mettre en XML ?


---------------
CPU-Z | Timespy | Mes bd | Mon blog
n°776587
skylight
Made in France.
Posté le 24-06-2004 à 18:18:45  profilanswer
 

pour moi les couleurs par defaut -> ecriture d'un fichier CSS lors du changement de ces dernieres uniquement.
 
 
J'ai juste a inclure un CSS... le tour est joué.
et l'XHTML permet de moduler ça comme on veut..


Message édité par skylight le 24-06-2004 à 18:19:33
n°776609
drasche
Posté le 24-06-2004 à 18:35:06  profilanswer
 

lors de mes derniers tests au boulot, certaines pages rapportaient des performances genre 50/50 entre PHP/MySQL. C'est bon signe? [:tinostar]


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°776612
skylight
Made in France.
Posté le 24-06-2004 à 18:37:24  profilanswer
 

tu fais comment pour faire ces rapports ?
 
tu vas pas me dire qu'a chaque requete, tu lance un chrono juste avant, et tu le stoppes juste apres, et en additionnant le tout, soustrait au temps global de la page ? [:jofission]

n°776614
drasche
Posté le 24-06-2004 à 18:40:59  profilanswer
 

si, exactement ça ;)
(bon, ça c'est une classe de debug, la version finale ne comprend pas ces lignes de code ;))


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°778465
drasche
Posté le 25-06-2004 à 19:39:59  profilanswer
 

pour ceux qui n'ont pas encore vu, ma preview de forum est de nouveau en ligne (je devrais ajouter la page topic.php dans la soirée :D)


Message édité par drasche le 25-06-2004 à 19:40:20

---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
mood
Publicité
Posté le 25-06-2004 à 19:39:59  profilanswer
 

n°778673
drasche
Posté le 25-06-2004 à 22:49:56  profilanswer
 

j'ai un grave problème de perfs avec ma page de messages, genre une requête avec jointure (2 tables en tout: messages + users) et ça crève les perfos :cry:
 
faut dire, ça ramène 70108 records pour la requête en question puis seulement le LIMIT vient mettre bon ordre à tout ça (topic de 2000 pages powah, ça vous situe un peu)
 
un tip pour optimiser ça? :sweat:


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°778702
skylight
Made in France.
Posté le 25-06-2004 à 23:13:32  profilanswer
 

que dit l'explain ?

n°778712
drasche
Posté le 25-06-2004 à 23:19:20  profilanswer
 

table   type   possible_keys key      key_len ref                 rows  Extra
tblmesg ref    ixlmesg2      ixlmesg2 4       const               70108 Using where; Using filesort
tbluser eq_ref PRIMARY       PRIMARY  4       tblmesg.flduseraidn     1


 
[:itm]
 

Code :
  1. SELECT tblmesg.fldmesgaidn, tblmesg.flduseraidn, tbluser.flduserlnck, tbluser.flduserfhrdcfg, tbluser.flduserfshwava, tbluser.fldusernicqidn, tbluser.flduserlmsnidn, tbluser.flduserlyahidn, tbluser.flduserlaimidn, tbluser.flduserljbbidn, tbluser.flduserlplc, tbluser.flduserlwebste, tbluser.flduserlquo, tbluser.flduserlsgn, tbluser.flduserqmsg, tblmesg.fldmesgcadr, tblmesg.fldmesgdcre, tblmesg.fldmesgnico, tblmesg.flduseralstmdfidn, tblmesg.fldmesgclstmdfadr, tblmesg.fldmesgdlstmdf, tblmesg.fldmesgfsgn, tblmesg.fldmesgfcod, tblmesg.fldmesgltxt FROM tblmesg INNER JOIN tbluser ON tblmesg.flduseraidn = tbluser.flduseraidn AND tblmesg.fldtopcaidn = 189149 WHERE tblmesg.fldmesgfvld = "1" ORDER BY tblmesg.fldmesgdcre ASC LIMIT 0, 40;


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°778721
fabien
Vive la super 5 !
Posté le 25-06-2004 à 23:23:57  profilanswer
 

drasche a écrit :

j'ai un grave problème de perfs avec ma page de messages, genre une requête avec jointure (2 tables en tout: messages + users) et ça crève les perfos :cry:
 
faut dire, ça ramène 70108 records pour la requête en question puis seulement le LIMIT vient mettre bon ordre à tout ça (topic de 2000 pages powah, ça vous situe un peu)
 
un tip pour optimiser ça? :sweat:

la tu nous pose une question qu'on se demande depuis des mois sans avoir de solution :D
si tu trouve la solution, on est partant :o


---------------
Découvre le HFRcoin ✈ - smilies
n°778735
Max Evans
Posté le 25-06-2004 à 23:30:46  profilanswer
 

Pas super super mais :
 
Tu peux rajouter un champ PAGE dans ta table des MESSAGE :)
A chaque INSERT de message, tu calcules la page que doit prendre ce dernier
Tu fais ta requete SELECT ... et tu rajoutes ds le WHERE : && page=xx
 
Pb : Pas top quand tu supprimes 20 messages d'une page de 30 messages ; soit tu laisses tel quel, et tu n'as plus que 10 message sur cette page ; soit tu recalcules la page pour TOUS les messages - très lourd comme opération :/
 
Pb2 : Le nb de messages/page est fixe, chaque user ne pourra le définir :/


---------------
Envie d'un bol d'air ? Traxxas Revo 3.3
n°778741
drasche
Posté le 25-06-2004 à 23:32:39  profilanswer
 

j'ai pensé à ces solutions mais aucune ne me convient :/
la solution facile, ce serait le split, mais je n'en veux pas :/ (quoique ça éviterait que certains boulets effacent de vieux posts :o)


Message édité par drasche le 25-06-2004 à 23:34:27

---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°778746
Max Evans
Posté le 25-06-2004 à 23:35:20  profilanswer
 

Sinon :
Admettons que tu ai 10 000 messages :)
 
Pour les 5 000 premiers tu fais un SELECT ... LIMIT 2300,30 ASC (Par exemple)
 
 
Pour les 5 000 derniers tu fais un SELECT ... LIMIT 8560,30 DESC (Par exemple)
 
J'sais pas si c'est clair :D
 
Pb : Pour les message aux alentours du 5000ème, ca va ramer :/


Message édité par Max Evans le 25-06-2004 à 23:35:44

---------------
Envie d'un bol d'air ? Traxxas Revo 3.3
n°778749
pascal_
Posté le 25-06-2004 à 23:36:05  profilanswer
 

Max Evans a écrit :

Pas super super mais :
 
Tu peux rajouter un champ PAGE dans ta table des MESSAGE :)
A chaque INSERT de message, tu calcules la page que doit prendre ce dernier
Tu fais ta requete SELECT ... et tu rajoutes ds le WHERE : && page=xx
 
Pb : Pas top quand tu supprimes 20 messages d'une page de 30 messages ; soit tu laisses tel quel, et tu n'as plus que 10 message sur cette page ; soit tu recalcules la page pour TOUS les messages - très lourd comme opération :/
 
Pb2 : Le nb de messages/page est fixe, chaque user ne pourra le définir :/


 
moi je pensais plus à un compteur de la position du message. Après tu fais la requête avec un  
$no = noPage*nbMsgParPage;
"SELECT ... WHERE compteur BETWEEN $no AND $no+$nbMsgParPage"


Message édité par pascal_ le 25-06-2004 à 23:37:08
n°778750
Max Evans
Posté le 25-06-2004 à 23:37:00  profilanswer
 

pascal_ a écrit :

moi je pensais plus à un compteur de la position du message. Après tu fais la requête avec un  
$no = noPage*nbMsgParPage;
"SELECT ... WHERE compteur BETWEEN no AND no+nbMsgParPage"

Effectivement ! Ca résolverait déjà le problème du nombre de messages/page fixe :jap:
 
EDIT : Résolverait ? Résoudrait ? [:meganne]


Message édité par Max Evans le 25-06-2004 à 23:37:27

---------------
Envie d'un bol d'air ? Traxxas Revo 3.3
n°778752
drasche
Posté le 25-06-2004 à 23:38:50  profilanswer
 

ouais mais non car il y a toujours le problème du delete et donc, d'anticiper les limites correctes, ce qui me semble impossible dans tous les cas justement :/


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°778756
fabien
Vive la super 5 !
Posté le 25-06-2004 à 23:41:57  profilanswer
 

Max Evans a écrit :

Sinon :
Admettons que tu ai 10 000 messages :)
 
Pour les 5 000 premiers tu fais un SELECT ... LIMIT 2300,30 ASC (Par exemple)
 
 
Pour les 5 000 derniers tu fais un SELECT ... LIMIT 8560,30 DESC (Par exemple)
 
J'sais pas si c'est clair :D
 
Pb : Pour les message aux alentours du 5000ème, ca va ramer :/


tu t'en fou de la page 5000, en gerenal on lit la premiere page ou la derniere page.
D'ailleur je pense que c'est la solution de joce, car quand tu prend une page au hazard au milieu d'un grand topic, ca rame :)


---------------
Découvre le HFRcoin ✈ - smilies
n°778757
Max Evans
Posté le 25-06-2004 à 23:42:53  profilanswer
 

Sinon j'avais entendu parler d'un ALTER TABLE qui te servirait à classer les messages par ID par exemple.
 
A ce moment là, plus besoin du ORDER BY (C'est lui qui fait ramer), mais je n'ai pas creuser plus que ca :)


---------------
Envie d'un bol d'air ? Traxxas Revo 3.3
n°778759
Max Evans
Posté le 25-06-2004 à 23:44:05  profilanswer
 

Fabien a écrit :

tu t'en fou de la page 5000, en gerenal on lit la premiere page ou la derniere page.
D'ailleur je pense que c'est la solution de joce, car quand tu prend une page au hazard au milieu d'un grand topic, ca rame :)

Pour Joce, effectivement, je penche pour cette solution, les pages en plein de milieu de tomic rame secos :D
 
Par contre pour les topics, cat HARDWARE, tu vas en page 2 000, ca rame un peu, tu vas en page 1 999, ca rame plus du tout ; je me demande ce qu'il a fait :D
 
EDIT : J'ai rien dit, ca rame autant :D


Message édité par Max Evans le 25-06-2004 à 23:45:43

---------------
Envie d'un bol d'air ? Traxxas Revo 3.3
n°778763
drasche
Posté le 25-06-2004 à 23:45:11  profilanswer
 

Max Evans a écrit :

Sinon j'avais entendu parler d'un ALTER TABLE qui te servirait à classer les messages par ID par exemple.
 
A ce moment là, plus besoin du ORDER BY (C'est lui qui fait ramer), mais je n'ai pas creuser plus que ca :)


putain c'est vrai en plus [:sisicaivrai]


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°778766
fabien
Vive la super 5 !
Posté le 25-06-2004 à 23:45:28  profilanswer
 

Max Evans a écrit :

Pour Joce, effectivement, je penche pour cette solution, les pages en plein de milieu de tomic rame secos :D
 
Par contre pour les topics, cat HARDWARE, tu vas en page 2 000, ca rame un peu, tu vas en page 1 999, ca rame plus du tout ; je me demande ce qu'il a fait :D

surement le cache sql de mysql.


---------------
Découvre le HFRcoin ✈ - smilies
n°778767
drasche
Posté le 25-06-2004 à 23:45:52  profilanswer
 

Max Evans a écrit :

Pour Joce, effectivement, je penche pour cette solution, les pages en plein de milieu de tomic rame secos :D
 
Par contre pour les topics, cat HARDWARE, tu vas en page 2 000, ca rame un peu, tu vas en page 1 999, ca rame plus du tout ; je me demande ce qu'il a fait :D


oui, j'ai vu la même chose sur les pages 2000-2001 de blabla@prog  :/


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°778768
Max Evans
Posté le 25-06-2004 à 23:46:21  profilanswer
 

Fabien a écrit :

surement le cache sql de mysql.

Beh bof, personne ne zieute la page 1999 :/
Ptete parce que le curseur est parti loin dans les enregistrements qui datent :D


---------------
Envie d'un bol d'air ? Traxxas Revo 3.3
n°778770
drasche
Posté le 25-06-2004 à 23:46:34  profilanswer
 

Fabien a écrit :

surement le cache sql de mysql.


jme demande, pour mettre à genoux le serveur, il suffirait qu'on aille tous se planter au milieu d'un gros topic? [:figti]


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°778773
Max Evans
Posté le 25-06-2004 à 23:47:21  profilanswer
 

drasche a écrit :

jme demande, pour mettre à genoux le serveur, il suffirait qu'on aille tous se planter au milieu d'un gros topic? [:figti]

:jap:
J'avais testé avec un ami à l'époque, on a fait monter la charge à 26 (Quand il y avait encore phpsysinfo en public) :D


---------------
Envie d'un bol d'air ? Traxxas Revo 3.3
n°778775
fabien
Vive la super 5 !
Posté le 25-06-2004 à 23:47:29  profilanswer
 

drasche a écrit :

oui, j'ai vu la même chose sur les pages 2000-2001 de blabla@prog  :/

c'est normal, je viens de tester ces pages, t'es passé juste derriere, tu t'es tapé le cache de mysql :D


---------------
Découvre le HFRcoin ✈ - smilies
n°778777
drasche
Posté le 25-06-2004 à 23:47:57  profilanswer
 

Fabien a écrit :

c'est normal, je viens de tester ces pages, t'es passé juste derriere, tu t'es tapé le cache de mysql :D


8 secondes, c'était quand même peu [:ddr555]


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°778791
drasche
Posté le 25-06-2004 à 23:56:22  profilanswer
 

j'ai quand même bien un truc tordu en tête, c'est reprendre le principe du split (de sa représentation en DB du moins) mais je lockerais toutes les x pages (donc 2000 posts selon les anciens standards en vigueur), ce qui rend impossible toute perturbation sur le long terme.
 
Bon, après test, je vois que j'ai pu éditer un message sur la page 2 de blabla@prog, donc Joce fait pas comme ça (ou pas tout à fait, je suis sûr qu'il y a un glitch quelque part)


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°778922
docmaboul
Posté le 26-06-2004 à 08:31:54  profilanswer
 

drasche a écrit :

j'ai quand même bien un truc tordu en tête, c'est reprendre le principe du split (de sa représentation en DB du moins) mais je lockerais toutes les x pages (donc 2000 posts selon les anciens standards en vigueur), ce qui rend impossible toute perturbation sur le long terme.
 
Bon, après test, je vois que j'ai pu éditer un message sur la page 2 de blabla@prog, donc Joce fait pas comme ça (ou pas tout à fait, je suis sûr qu'il y a un glitch quelque part)


 
Au niveau des performances, le split est une très bonne solution pour moult raisons. Faire une simple requête indexée sur un champ trié avec une clause (limit 600000, 30) oblige mysql à parcourir l'index utilisé pour trouver le 600000ème enregistrement et les 30 suivants: c'est plutôt lent. Aussi, au niveau des inserts, les indexes seront mis à jour plus rapidement. L'inconvénient est que c'est un poil plus compliqué à implémenter.

n°778946
drasche
Posté le 26-06-2004 à 10:54:37  profilanswer
 

l'inconvénient du split, c'est que ça incite au flood :o (suffit de voir comment ça se passait ici il y a 2 ans :D)


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°778982
docmaboul
Posté le 26-06-2004 à 12:07:06  profilanswer
 

drasche a écrit :

l'inconvénient du split, c'est que ça incite au flood :o (suffit de voir comment ça se passait ici il y a 2 ans :D)


 
arfff, pardon, je parlais de tables splitées :D

n°779075
Gfreeman
http://www.FGFasp.com
Posté le 26-06-2004 à 16:14:47  profilanswer
 


 
Merci mon brave pour ce pur instant de plaisir [:eyes 0nly]


Message édité par Gfreeman le 26-06-2004 à 16:15:13
n°779082
docmaboul
Posté le 26-06-2004 à 16:24:44  profilanswer
 

Gfreeman a écrit :


 
Merci mon brave pour ce pur instant de plaisir [:eyes 0nly]


 
Il a planté?

n°779085
Gfreeman
http://www.FGFasp.com
Posté le 26-06-2004 à 16:32:39  profilanswer
 

Citation :

DB Time 1.657 ms (63.53%)


 
 :lol:  :whistle:

n°779087
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 26-06-2004 à 16:34:46  profilanswer
 

drasche a écrit :

l'inconvénient du split, c'est que ça incite au flood :o (suffit de voir comment ça se passait ici il y a 2 ans :D)

suffit de programmer des bots [:cupra]


---------------
J'ai un string dans l'array (Paris Hilton)
n°779091
docmaboul
Posté le 26-06-2004 à 16:38:02  profilanswer
 

Gfreeman a écrit :

Citation :

DB Time 1.657 ms (63.53%)


 
 :lol:  :whistle:


 
C'est quelle page?

n°779093
Gfreeman
http://www.FGFasp.com
Posté le 26-06-2004 à 16:43:26  profilanswer
 

DocMaboul a écrit :

C'est quelle page?


 
Allez je te donne la réponse. Tu te souviens de mon poste il y a quelque temps ??. J'ai bien aimé la façon que tu as eu de me prendre pour un con lorsque j'ai affirmé je cite :
 

Gfreeman a écrit :

Je ne voudrais pas jouer les oiseaux de mauvaise augure, mais je doute qu'il puisse, même avec un pool de connexion, atteindre une rapidité ultra extra mega ordinaire. La simple et bonne raison étant qu'il sera toujours dépendant d'un SGBDR, et que tous les forums sont tributaires des temps de réponses de la BDD, et non du langage employé.


 
Je te laisse méditer sur mes propos.
 
Edit >> tu veux la page peut être ??


Message édité par Gfreeman le 26-06-2004 à 16:51:56
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  ..  140  141  142  ..  486  487  488  489  490  491

Aller à :
Ajouter une réponse
 

Sujets relatifs
question avec les forums phpbb2[php] trouver la premier place ou inserer un enregistrement (résolu)
Forums phpBBQui connait l'algo du Passticket et sa mise en place en VB ?
[Merise] Mise en place d'un MCDFocus mal placé....
[Blabla/Prog] Les développeurs foromeurs sont-ils des feignasses?Mise en place d'un formulaire CGI
forums création de site internetJava - Mise en place d'une api (Servlet)
Plus de sujets relatifs à : les développeurs de forums, les 3/4 des forums sont down /o\


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