|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() Inscription : mars 2007 Messages : 72 ![]() |
Bonjour,
Je réalise en ce moment un petit forum pour mon site. Je le veux basique mais cependant optimisé. Je me posais une question au sujet du comptage des messages. Pour que se soit optimiser, au lieu de compter à chaque fois à l'aide d'une requête le nombre de message dans une catégorie et l'afficher, je souhaitais mettre un champ "nbMessage" dans ma catégorie et quand une personne ajoute un poste, incrémenter mon nombre de message. Là il y aurait deux requêtes. La requête INSERT pour ajouter mon message et une requête UPDATE pour incrémenter mon nombre de message. Est-il possible que la requête INSERT se face correctement mais que la requête UPDATE bug (si sa ne se produit ne serait-ce qu'une fois, j'aurais un décalage entre mon nombre de message réel et celui incrémenter). Comment vous gèreriez ceci ? Merci d'avance. Olivier Nota: J'ai penser lancer quelque fois une requete qui recalcule mais je pense que se serait contourner le problème. |
|
|
00
|
|
|
#2 |
|
Nouveau Membre du Club
![]() Inscription : novembre 2007 Messages : 43 ![]() |
Je trouve l’idée pas mauvaise. C'est une sorte de cache en DB juste pour le nombre de ligne d'une table (Peut être qu'un cache pourrai le faire automatiquement).
Je ne voie pas pourquoi ta requête UPDATE buggerai si elle est correctement effectuée. A ce moment là, on pourrais tout remettre en cause. Pense par contre à décrémenter le compteur quand un post est supprimé |
|
|
00
|
|
|
#3 | ||
![]() ![]() Benjamin DelespierreDéveloppeur Web Inscription : février 2010 Messages : 2 991 ![]() |
Citation:
Dans ton cas, l'optimisation sera pauvre j'en ai peur, la fonction count est extrêmement rapide vu que les moteurs de stockage gardent un compteur en mémoire. Du coup tu perdra plus de temps avec tes updates que tu ne vas en gagner sur les select, le jeu n'en vaut pas la chandelle. L'optimisation concerne plus généralement les tables et les index. Citation:
Je te recommande d'utiliser MySQL Workbench pour la création de ton modèle de données: http://dev.mysql.com/downloads/workbench/ Pour ce qui est de l'implémentation: je te suggère fortement d'utiliser des tables InnoDB, ce moteur supporte les transactions et les clés étrangères qui tout deux garantissent (s'ils sont utilisés correctement bien sûr) l'intégrité des données du modèle, ce qui est clairement mandataire dans le cadre d'un forum. Pour ce qui est de PHP: je te recommande fortement d'utiliser PDO et les requêtes préparées, là encore, il y a pléthore de tutoriaux sur le site. Les requêtes préparées permettront plus de sécurité et de rapidité. Note: Plutôt que de ré-ré-réinventer la roue, tu devrais utiliser un CMS de type Forum comme PHPBB.
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même). Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...". Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug. Les boutons et existent, servez-vous en
|
||
|
00
|
|
|
#4 | |
|
Nouveau Membre du Club
![]() Aurélien LEQUOY Inscription : février 2011 Messages : 33 ![]() |
Citation:
![]() regarde plutôt du coté de PunBB ou FluxBB (en français) http://fluxbb.fr/forums/index.php |
|
|
|
00
|
|
|
#5 | |
|
Nouveau Membre du Club
![]() Aurélien LEQUOY Inscription : février 2011 Messages : 33 ![]() |
Citation:
Plus la logique est dans la base de données plus ça t'évite de te tenir à jour tes infos coté logiciel et de risquer de créer des bug, tu y gagnera en temps et des erreurs en moins. quand ton forum aura plusieurs milliers de visiteurs par heure et que ta base de données sera saturé tu pourras reconsidérer ce msg, mais en attendant met le plus de logique au niveau de ta base données. |
|
|
|
00
|
|
|
#6 |
|
Nouveau Membre du Club
![]() Inscription : mars 2007 Messages : 72 ![]() |
Bonjour,
Merci de vos réponses. J'ai déjà pensé à l'utilisation de forum déjà tout prêt tel que PhpBB et les autres. Le soucis que je trouve dans ces forums c'est que : - il nécessite une seconde inscription pour marcher (encore qu'on peut les lier avec son propre site mais il faut du coup utiliser les fonctions de PhpBB et le site deviens pénible à coder pour faire ses propres ajouts). - ils ne permettent pas être intégré dans mon site (ce qui m'intéresse en faite le plus). C'est pourquoi je comptais faire le mien avec les fonctionnalités de base. Je vais donc regarder autour de PDO pour optimiser tout ça. Merci. |
|
|
00
|
|
|
#7 | |
![]() ![]() Benjamin DelespierreDéveloppeur Web Inscription : février 2010 Messages : 2 991 ![]() |
Citation:
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même). Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...". Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug. Les boutons et existent, servez-vous en
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com