Nouveau sujet Répondre Imprimer Syndication RSS 2.0

[MySQL] - Optimisation Table fsb_messages_lus

Chef du projet FSB
Avatar de Genova
  • Age : 26 ans
  • Messages : 14944
  • Inscrit : 16 Septembre 2004
  Lien vers ce message 25 Juin 2006, 12:54

Reprise du dernier message

Pour un forum tout petit on est d'accord ca peut marcher. Mais dès qu'il grossira ca deviendra le bordel dans la base de donnée .. Enfin bon comme tu veux mais si personne n'utilise un tel système ya surement une raison ;)


Cause Im as free as a bird now, And this bird you can not change. - Freebird - Lynyrd Skynyrd
There's someone in my head but it's not me. - Brain damage - Pink Floyd
I said baby, you know Im gonna leave you. - Babe I'm gonna leave you - Led Zeppelin
Father ? yes son, I want to kill you - The end - The Doors
 
Equipe de développement
Avatar de SquallX
  • Age : 21 ans
  • Messages : 2929
  • Inscrit : 18 Novembre 2004
  Lien vers ce message 25 Juin 2006, 13:28
Citation (Genova)
Pour un forum tout petit on est d'accord ca peut marcher. Mais dès qu'il grossira ca deviendra le bordel dans la base de donnée .. Enfin bon comme tu veux mais si personne n'utilise un tel système ya surement une raison ;)


Le problème c'est qu'il est utilisé, mais pas de la bonne façon certains forums stockent dans la table membres la liste des sujets lus (id), ce qui est bête vu que la liste peut devenir énorme.

Mais dans le cas dont je te parle, la liste ne sera pas forcément plus grande qu'une table messages_lus ;)
 
VIP
Avatar de Shekral
  • Age : 26 ans
  • Messages : 972
  • Inscrit : 25 Février 2006
  Lien vers ce message 25 Juin 2006, 14:13
Ouais, enfin reste à savoir où le stocker, si c'est dans la table des sujets, les deux seules solutions c'est une recopie de chaque sujet par membre qui l'a lu, ou un champ contenant la liste.
Et comme l'a déjà dis buster, le parsing de cette liste n'est pas négligeable.
D'autant que dans ce cas, pour savoir quels sont les sujets lus par un membre, il faut récupérer toutes les liste, toutes les parser, puis regarder dans chacune si le membre en fait partie.

Donc clairement pour un petit forum, la différence ne se fera pas trop sentir, dès qu'il va grossir, là par contre c'est une autre histoire.


WikiFSB
 
Equipe de développement
Avatar de SquallX
  • Age : 21 ans
  • Messages : 2929
  • Inscrit : 18 Novembre 2004
  Lien vers ce message 25 Juin 2006, 14:16
C'est vrai que ça peut devenir lourd tu as raison, j'avais pas vu la chose de cette façon
 
Chef du projet FSB
Avatar de Genova
  • Age : 26 ans
  • Messages : 14944
  • Inscrit : 16 Septembre 2004
  Lien vers ce message 25 Juin 2006, 14:16
Citation (SquallX)
Mais dans le cas dont je te parle, la liste ne sera pas forcément plus grande qu'une table messages_lus ;)

Je ne parle pas de taille mais de rapidité d'accès.

Par exemple sur l'index comment fait tu pour savoir si un forum est lu ou pas ? Parce que avec ce système c'est impossible de le faire rapidement.


Cause Im as free as a bird now, And this bird you can not change. - Freebird - Lynyrd Skynyrd
There's someone in my head but it's not me. - Brain damage - Pink Floyd
I said baby, you know Im gonna leave you. - Babe I'm gonna leave you - Led Zeppelin
Father ? yes son, I want to kill you - The end - The Doors
 
Volcan
Avatar de burster
  • Age : 2212 ans
  • Messages : 1685
  • Inscrit : 19 Mars 2005
  Lien vers ce message 25 Juin 2006, 14:29
Non il faut les dires les choses qui sont.

A l'heure actuelle excepté le petit bug de doublon, triplons (et j'en passe) gracieusement corrigé par la prosition de Tcool... le système actuel est le plus adapté.

Ce qu'on pourrait rajouté comme condition en dur dans le code par contre avec une variable qui pourra être réglé au travers du panneau d'administration:

Dire par exemple que tous les sujets qui ont plus d'1 mois sont considérés comme lu.

Et de temps en temps alors on vient épurer cette table avec les critères adaptées.


Le tout soit en automatique, semi-auto, manuel, au choix quoi :)


e-Traker
 
VIP
Avatar de Shekral
  • Age : 26 ans
  • Messages : 972
  • Inscrit : 25 Février 2006
  Lien vers ce message 25 Juin 2006, 14:35
Oui, l'idée est bonne, ça permettrait encore de réduire cette table étant donné qu'il est vrai que les sujets enterré au fond du forum peuvent automatiquement être considéré comme lus.


WikiFSB
 
Equipe de développement
Avatar de SquallX
  • Age : 21 ans
  • Messages : 2929
  • Inscrit : 18 Novembre 2004
  Lien vers ce message 27 Juin 2006, 12:28
arf en plus je viens de trouver une faille à mon système ...

Lorsque un membre a lu un sujet, même si on poste de nouvelles réponses le sujet sera lu ... donc on oublie ... (à moins de jongler de façon abusive sur les cookies ... et encore mauvaise méthode ...)
 
Volcan
Avatar de burster
  • Age : 2212 ans
  • Messages : 1685
  • Inscrit : 19 Mars 2005
  Lien vers ce message 27 Juin 2006, 14:13
Ben un sujet comporte plusieurs messages.

Donc même si ton sujet_id se voit recevoir un nouveau message_id, le fait de regarder le sujet_id suffit à valider tous les messages_id même ceux pas vu.


e-Traker
 
Equipe de développement
Avatar de SquallX
  • Age : 21 ans
  • Messages : 2929
  • Inscrit : 18 Novembre 2004
  Lien vers ce message 27 Juin 2006, 14:46
Citation (burster)
Ben un sujet comporte plusieurs messages.

Donc même si ton sujet_id se voit recevoir un nouveau message_id, le fait de regarder le sujet_id suffit à valider tous les messages_id même ceux pas vu.


oui mais à la base avec mon système j'avais pas prévu de message id ^^ et en appliquant ce système à message_lu (en stockant toutes les id des membres ayant leu le message) ça prendrait énormément de place -_-'
 
VIP
Avatar de Shekral
  • Age : 26 ans
  • Messages : 972
  • Inscrit : 25 Février 2006
  Lien vers ce message 28 Juin 2006, 22:35
Concernant les messages lus, il pourrait être intéressant de conserver dans cette table l'id du dernier message lu dans un sujet. Ainsi pour chaque membre, le lien vers le dernier message d'un sujet renverrai automatiquement sur le dernier message lu.
C'est plus pratique pour suivre l'évolution d'un sujet.


WikiFSB
 
Feu follet
Avatar de tcctitan
  • Messages : 117
  • Inscrit : 17 Avril 2005
  Lien vers ce message 11 Septembre 2007, 20:31
j'ai 25Mo maintenant au lieu de 32Mo. c'est déjà çà. merci
 
Chef du projet FSB
Avatar de Genova
  • Age : 26 ans
  • Messages : 14944
  • Inscrit : 16 Septembre 2004
  Lien vers ce message 11 Septembre 2007, 20:35
Je viens de regarder la table pour FSB2 sur ce forum et elle fait seulement 200KO ici ^^


Cause Im as free as a bird now, And this bird you can not change. - Freebird - Lynyrd Skynyrd
There's someone in my head but it's not me. - Brain damage - Pink Floyd
I said baby, you know Im gonna leave you. - Babe I'm gonna leave you - Led Zeppelin
Father ? yes son, I want to kill you - The end - The Doors
 
Feu follet
Avatar de tcctitan
  • Messages : 117
  • Inscrit : 17 Avril 2005
  Lien vers ce message 11 Septembre 2007, 21:31
et bien vivement la sortie de FSB2 :) on n'attend que çà..
 
Répondre


.