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

 


 Mot :   Pseudo :  
  Aller à la page :
 
 Page :   1  2  3  4  5  ..  358  359  360  ..  486  487  488  489  490  491
Auteur Sujet :

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

n°1361101
nraynaud
lol
Posté le 07-05-2006 à 01:45:15  profilanswer
 

Reprise du message précédent :
j'pense qu'il risque de finir nraynaudEE quand je vois qu'un tomcat vide met 15s pour démarrer, j'ai pas trop envie d'empiler encore plus ...

mood
Publicité
Posté le 07-05-2006 à 01:45:15  profilanswer
 

n°1361102
belgique
Posté le 07-05-2006 à 01:53:08  profilanswer
 

Au moins c'est installé, apparemment ça gaze pas les C7 :D

n°1361112
nraynaud
lol
Posté le 07-05-2006 à 02:11:55  profilanswer
 

là c'est sur mon mac les 15s

n°1361335
Cyrius-c
Posté le 07-05-2006 à 17:09:11  profilanswer
 

je dois mettre à jour ma table drapeaux a chaque sujet lu. SOis je fais un insert soit un update.
 
Il y a une solution pour savoir si on update ou on insert: on compte s'il existre une occurence dans la table et on update s'il en existe une.
 
Ca fait deux requetes.
Vous n'avez pas 'autres mpyens pour le faire en une requete?
 
:jap:

n°1361345
The-Shadow
T'as été voir dans ton profil?
Posté le 07-05-2006 à 17:25:20  profilanswer
 

Tu updates, tu vérifies que ça a fonctionné et si ça n'a pas fonctionner, tu insert.
comme ça, tu économises une requête si ce n'est qu'un update.

n°1361348
zapan666
Tout est relatif
Posté le 07-05-2006 à 17:34:57  profilanswer
 

The-Shadow a écrit :

Tu updates, tu vérifies que ça a fonctionné et si ça n'a pas fonctionner, tu insert.
comme ça, tu économises une requête si ce n'est qu'un update.


ou "mieux", tu fais un replace.


---------------
my flick r - Just Tab it !
n°1361349
The-Shadow
T'as été voir dans ton profil?
Posté le 07-05-2006 à 17:38:51  profilanswer
 

Ha super, je viens d'apprendre un truc.
Bon, je vous laisse, je vais hiberner 2 semaines pour corriger tous mes scripts.  [:amandine75011]

n°1361351
zion
Plop
Posté le 07-05-2006 à 17:46:02  profilanswer
 

zapan666 a écrit :

ou "mieux", tu fais un replace.


 
sauf que:
 

Citation :

MySQL uses the following algorithm for REPLACE (and LOAD DATA ... REPLACE):
 
   1.
 
      Try to insert the new row into the table
   2.
 
      While the insertion fails because a duplicate-key error occurs for a primary key or unique index:
         1.
 
            Delete from the table the conflicting row that has the duplicate key value
         2.
 
            Try again to insert the new row into the table


 
Donc bof, ils l'ont joué dans le sens inverse, tu économises plus un query, mais c'est plus simple à écrire... [:itm]

n°1361354
The-Shadow
T'as été voir dans ton profil?
Posté le 07-05-2006 à 17:49:01  profilanswer
 

Ha oui, donc un replace, c'est pas forcément mieux alors ?
 
Je demande parce que "correction, no correction, that is the question".

n°1361360
zapan666
Tout est relatif
Posté le 07-05-2006 à 17:55:31  profilanswer
 

Si tu fais 90% de insert, oui, sinon si c'est 90% de "update", non. Tu va te taper un insert, un delete, et un insert. Tu risque de perdre trop de temps. Bref, ça dépend de ton bazar [:petrus75]
 
doc pour le replace


Message édité par zapan666 le 07-05-2006 à 17:56:12

---------------
my flick r - Just Tab it !
mood
Publicité
Posté le 07-05-2006 à 17:55:31  profilanswer
 

n°1361363
anthomicro
Posté le 07-05-2006 à 17:56:45  profilanswer
 

à mon avis le replace est meilleur, parce que c'est traité en interne par MySQL. Faire un count ou un mysql_affected_rows pour ensuite faire un insert je ne trouve pas ça très propre, mais si c'est plus performant pourquoi pas :jap:

n°1361371
Cyrius-c
Posté le 07-05-2006 à 18:16:48  profilanswer
 

Merci c'estce que je cherchais.
 
Hmm, par contre je me rends compte qu'il y a pas mal de traitements a faire, ne serais-ce que pour chercher le dernier id dans le post et si l'on y a participé ou pas (2 requetes).
 
Je suis très accé sur les performances et j'aime pas trop faire 2 requetes comme ca (sauf si j'ai pas le choix :d ).
 
VOus vous gérez ca comment?(la mise en drapeau)

n°1361375
The-Shadow
T'as été voir dans ton profil?
Posté le 07-05-2006 à 18:23:59  profilanswer
 

Je m'autoquote d'une réponse que j'avais fait sur un autre topic y'a quelques jours. :D
 

Citation :

Y'a un topic spécial forum.
 
Perso, je fais comme ça :
J'ai une table topics_vu
dedans, voilà ce que j'ai :
topic_id - membre_id - status - lastrep - time
 
le topic_id, bah c'est l'identifiant du sujet, le membre_id, pas besoin d'explications, le status, c'est soit lu, soit lu et participé, soi lu mais nouvelle réponse soit lu et participé et nouvelle réponse dans le sujet. Time, c'est la date de la lecture, ce n'est pas indispensable, mais ça me permet de supprimer les infos trop vieilles.
 
En gros, ça marche comme ça.
Le membre 101 ouvre un topic pour la première fois.
Dans la table, je regarde si il l'a déjà lu, là ça dira non.
Donc, Insert nodusujet,nodumembre,1(lu),id de la dernière réponse du sujet en question,l'heure.
 
Quelqu'un répond à un sujet, tu updates dans la base, toutes les tables où le sujet est égal au sujet en cours en remplacant 1 (sujet lu) par 3 (sujet lu mais nouvelle réponse) et en remplacant 2 (sujet lu et participé) par 4 (sujet lu et participé par nouvelle réponse).
 
Ca parait énorme à traiter comme table, ça fait une ligne par sujet et par membre, seulement, en fait, ça ne pèse pas grand chose et ça se traite très vite et au pire, avec la colonne time, tu peux supprimer au bout d'un certain temps si ton forum a du succès ou jamais si les gens ne viennent que rarement.
 
Ton membre va lire le topic, tu regardes dans la base topics vu


n°1361380
Cyrius-c
Posté le 07-05-2006 à 18:35:04  profilanswer
 

C'est ce que je pensais faire. Mais pour la première insertion, il faut bien chercher l'etat (lu ou participé) et puis le dernier id (qui me sert de lien vers l'ancre du sujet)

n°1361382
The-Shadow
T'as été voir dans ton profil?
Posté le 07-05-2006 à 18:37:31  profilanswer
 

Le dernier id, tu le récupères au moment de la lecture du topic, lors de l'update dont tu parlais tout à l'heure.

n°1361388
Cyrius-c
Posté le 07-05-2006 à 18:44:29  profilanswer
 

Ah on a pas du se comprendre. POur moi le dernier id c'est le dernier id lu. C'est à dire que quand on lcique sur le drapeau,on arrive au dernier post que l'on a vu.  
DOnc si je lis le sujet 45 ,que j'update ou j'insert, je dois faire un select max pour recuperer le dernier id.

n°1361389
Cyrius-c
Posté le 07-05-2006 à 18:45:28  profilanswer
 

Ah oui, il y a aussi la verification du nombre de drapeaux.(lmité à 50 chez moi).

 

DOnc en fait, ca nous donne ce petit bout de code n'est-ce aps?

 

si membre{
//On regarde combien on a de drapeaux
Select count from drapeaux
on supprime le dernier si 50

 

//On selectionne le dernier id
select max id du topic
//On cherche si on a participé au topic
select count from sujet reponse where auteur=$-SESSION[login] AND id_sujet=le sujet que lon consulte

 

REPLACE drapeaux on met le denrier id, lid du post, et selon le resultat de la 2eme requete, sois lu, sois participé}

 


Bon la ca ajoute une ligne dans drapeaux. Mais on a reellement un drapeau quand on a une nouvelle reponse dans le sujet. donc je fais un champ "drapeau", 1 ou 0 pour l'afficher ou pas

 

:hello: Merci de m'avoir lu je sais que c'est pas facile :d


Message édité par Cyrius-c le 07-05-2006 à 18:50:44
n°1361391
The-Shadow
T'as été voir dans ton profil?
Posté le 07-05-2006 à 18:46:34  profilanswer
 

Quand un lecteur rentre dans un topic
Tu fais  

Code :
  1. Insert nodusujet,nodumembre,1(lu),id de la dernière réponse du sujet en question


Donc au moment d'afficher les drapeaux, tu récupères l'id de la dernière réponse qu'il a lu.  [:airforceone]

n°1361392
anthomicro
Posté le 07-05-2006 à 18:48:11  profilanswer
 

Pour le dernier id possible du post je fais comme ceci : je stocke le nombre de topics (que j'ai récupéré via le nombre de réponses dans la table topics), et j'en déduis le dernier id possible. ça ne fonctionne plus si un post a été supprimé, m'enfin vu que je ne supprime que très rarement des posts, pour l'instant ça ne me pose pas de problème :)

n°1361393
anthomicro
Posté le 07-05-2006 à 18:48:49  profilanswer
 

Pour le dernier id lu je le stocke dans la table des "lus" en tant que champ (enfin en ce qui me concerne)

n°1361396
Cyrius-c
Posté le 07-05-2006 à 18:52:53  profilanswer
 

J'ai répondu un peu plus haut ;)
Tiens c'est biezarre, sur mùd la date de postage c'est la date où on a cliqué sur repondre

n°1361403
Cyrius-c
Posté le 07-05-2006 à 19:03:42  profilanswer
 

Excusez-moi, j'ai encore une question.  
VOus pensez que c'est interessant de mettre un champ page et un champ numero de reponse dans la table reponse.?Ca me permettrait de definir sa position dans un sujet (ce qui facilite le drapeau, le clic sur "derniere reponse"etc...).Je l'update quand on supprime un post.
COmme ca les calculs de page sont faits lors de l'insertion et non lors de la consultation d'une reponse (ce qui reduit bcp les calculs)

n°1361405
The-Shadow
T'as été voir dans ton profil?
Posté le 07-05-2006 à 19:05:48  profilanswer
 

un champ page, ce n'est pas très intéressant si tes utilisateurs peuvent choisir le nombre de réponse par page, il vaut mieux calculer à chaque fois, surtout que ça va vite si tu fais un champs "nombre de réponse du sujet".

n°1361407
Cyrius-c
Posté le 07-05-2006 à 19:13:49  profilanswer
 

Justement, dans la version pour mon site, y'a pas de personnalisation du nobmre de reponses par pages....
Par contre, je vois aps trop comment faire algorythme pour trouver la page de la raponse. Car j'affiche 10 reponses, sur la deuxième pages, 10, mais en incluant la dixième de l'autre pages....

n°1361409
Max Evans
Posté le 07-05-2006 à 19:18:26  profilanswer
 

Cyrius-c a écrit :

Ah on a pas du se comprendre. POur moi le dernier id c'est le dernier id lu. C'est à dire que quand on lcique sur le drapeau,on arrive au dernier post que l'on a vu.  
DOnc si je lis le sujet 45 ,que j'update ou j'insert, je dois faire un select max pour recuperer le dernier id.


Au lieu de faire un SELECT MAX, stocke directement en dur dans un champ la valeur du dernier_id dans ta table des topics :)


---------------
Envie d'un bol d'air ? Traxxas Revo 3.3
n°1361410
Cyrius-c
Posté le 07-05-2006 à 19:21:43  profilanswer
 

Quel  idiot :d
J'ai deja un champ dernier_id..

n°1361464
The-Shadow
T'as été voir dans ton profil?
Posté le 07-05-2006 à 22:15:29  profilanswer
 

Tiens, Clubic repasse à un forum maison :
http://www.clubic.com/forum/page-2 [...] try6722009
 
Strop d'la daube IPB, même pas capable de faire une recherche sans planter le serveur. :D

n°1361472
anthomicro
Posté le 07-05-2006 à 22:37:52  profilanswer
 

Bah un gros site (ou un site) de plus qui a enfin compris que c'était bien emballé (et encore, je préférais l'interface du 1.3) mais qu'il n'y avait rien en dessous quoi... dès que tu charges ça s'écroule comme un château de cartes...

n°1361483
fabien
Vive la super 5 !
Posté le 07-05-2006 à 23:26:46  profilanswer
 

The-Shadow a écrit :

Tiens, Clubic repasse à un forum maison :
http://www.clubic.com/forum/page-2 [...] try6722009
 
Strop d'la daube IPB, même pas capable de faire une recherche sans planter le serveur. :D


he ben dis donc, ils sont courageux chez clubic pour refaire un forum perso :D
 
Sinon, ils ont qu'a installer le forum de forum-auto, non ?  :whistle:

n°1361486
anthomicro
Posté le 07-05-2006 à 23:28:48  profilanswer
 

Du moment qu'ils ne mettent pas certains modés boulets qui vont avec, ça ira :jap: lol

n°1361487
rosco
Posté le 07-05-2006 à 23:28:50  profilanswer
 

Wé enfin, z'ont pas l'air hyper doués non plus... Accuser le forum c'est facile, il ne compte que ~2.6 M de posts (somme toute assez raisonnable vu leur "poids" ), et d'autres sites (PCI à 1.5 M par ex.) l'utilisent sans tout leur barda et ça marche bien quand même. Bouffer 4+ giga pour une simple recherche, y a des questions à se poser sur ce qu'on a fait/installé/configuré/trafiqué (y libère pas la RAM leur serveur à $$$$$ ?). Les nouvelles versions IPB ne sont pas les + légères c'est sûr, mais faut pas pousser non plus. Enfin bref...


Message édité par rosco le 07-05-2006 à 23:29:01
n°1361488
scull
MySCULL cay bon mangez en!
Posté le 07-05-2006 à 23:31:10  profilanswer
 

Ouai, ils attendent la sortie de phpBB 3 pour virer cette bouse de IPB 2.x :lol:
Humour bien sûr


---------------
Créer son forum gratuit |  Mon beau blog phpBB caÿ le mal :o
n°1361489
anthomicro
Posté le 07-05-2006 à 23:31:16  profilanswer
 

Bah IPB ça reste de la merde... ils ont cru qu'ils pourraient limiter la casse avec un serveur ultra performant (ou plusieurs serveurs) ça n'a pas été le cas...

n°1361491
anthomicro
Posté le 07-05-2006 à 23:32:26  profilanswer
 

scull a écrit :

Ouai, ils attendent la sortie de phpBB 3 pour virer cette bouse de IPB 2.x :lol:
Humour bien sûr


 
PHPBB 3 qui va révolutionner le monde des forums avec une importante optimisation en requêtes MySQL (ah tiens, je serais pas en train de répéter ce qu'il devait avoir été soit disant amélioré pour la version 2 ?)  :whistle:

n°1361492
scull
MySCULL cay bon mangez en!
Posté le 07-05-2006 à 23:33:58  profilanswer
 

phpBB 3 qui devais sortir il y a maintenant presque 2 ans :lol:
EDIT: autant pour moi, sa fait juste 3ans qu'ils ont commencé le dev  [:barthaliastoxik]

Message cité 1 fois
Message édité par scull le 07-05-2006 à 23:36:58

---------------
Créer son forum gratuit |  Mon beau blog phpBB caÿ le mal :o
n°1361493
rosco
Posté le 07-05-2006 à 23:37:55  profilanswer
 

Ce qui manque vraiment dans le monde des forums, c'est que qqu'un se dévoue pour bencher sur une machine donnée plusieurs forums connus en simulant une activité identique (doit être possible à programmer un bot qui s'en occupe à partir d'une autre machine, nan?) sur chacun pour voir lesquels mettent à genoux le + rapidement le serveur, celui qui minimise un paramètre (la RAM par ex.), celui qui encaisse le max de connexions sans trop de casse, etc., etc. Vous n'avez pas ça dans vos bookmarks ou un truc qui y ressemblerait par hasard ?


Message édité par rosco le 07-05-2006 à 23:38:25
n°1361494
anthomicro
Posté le 07-05-2006 à 23:42:36  profilanswer
 

scull a écrit :

phpBB 3 qui devais sortir il y a maintenant presque 2 ans :lol:
EDIT: autant pour moi, sa fait juste 3ans qu'ils ont commencé le dev  [:barthaliastoxik]


 
En trois ans on a largement le temps de faire mieux  :lol:  à mon avis ça doit être le temps nécessaire pour se dire "mais par où je vais commencer, c'est tellement crade". Ils ont dû vouloir garder l'architecture existante...  :whistle:


Message édité par anthomicro le 07-05-2006 à 23:44:23
n°1361524
KdZ'
Simple®
Posté le 08-05-2006 à 01:56:00  profilanswer
 

Pourquoi ils sont pas restés chez mesdicussions chez clubic ? Vous savez ?

n°1361527
Multinickn​ame
Ah bon...
Posté le 08-05-2006 à 02:30:52  profilanswer
 

KdZ' a écrit :

Pourquoi ils sont pas restés chez mesdicussions chez clubic ? Vous savez ?


Je crois que c'est en partie parce qu'ils ne pouvaient pas avoir la maîtrise totale du forum

n°1361555
anthomicro
Posté le 08-05-2006 à 10:18:40  profilanswer
 

Et peut-être aussi parce qu'ils avaient de l'argent à dépenser niveau hardware  :lol:


Message édité par anthomicro le 08-05-2006 à 10:18:51
n°1361564
Cyrius-c
Posté le 08-05-2006 à 10:41:58  profilanswer
 

Salut,
 
J'ai vu dans ce topic qu'il fallait eviter le limit. Actuellement quand j'afifche un sujet, je fais select * from reponse where id_post=$get id post LIMIT 10,20
 
Maintenant que j'ai instauré un compteur de position pour les réponses, je suis capable de faire
select * from reponse where id_post=$get id post AND position>10 AND position<30  
 
La seconde est bien plus rapide n'est-ce pas?

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  ..  358  359  360  ..  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)