Cool Forum

 
 
Cool Forum » Développement » Suggestions » Structure de base de donnée
Connexions
1 connecté(s) sur le forum actuellement: 0 membre(s) | 1 invité(s)
 
 
 
<<Sujet précédent     Sujet suivant>>


 
 
Auteur Imprimer le topic Message

 
 
bucherb

Nouveau

J'ai pas fait exprès.....

Enregistré le 30/05/2003
Messages: 22
Non connecté

Sujet : Structure de base de donnée
Ajouté le : 29/10/2004 09:54
Message :

Hello!!

Je trouve ce forum vraiment bien fait, cependant j'émettrai une petite critique concernant la structure des bases de données.

Je trouve qu'il y a bien trop d'information redondantes. Les mêmes infos se retrouvent dans plusieurs tables, notamment au niveau des posts/topics. Pourquoi faire 2 tables?
Un INNER JOIN suffit amplement à faire tout ce qu'il faut pour récupérer les infos.
En plus ça provoque des bugs..
Par exemple si on crée un nouveau topic et qu'on édite ensuite l'icone du message, elle n'est pas modifiée dans la liste des topics. Si tout était dans une seule table on aurait pas se genre de problèmes.

Enfin c'est mon avi

Bonne journée!

*** Message édité par bucherb le 29/10/2004 09:54 ***

Recharger l'url avec lien direct vers ce message Imprimer le message Aller en bas de page Aller en haut de page Editez ce post (réservé aux modérateurs) Avertissez l'administrateur si le post est non conventionnel Envoyer un email à bucherb!!! Envoyer un Message Privé à bucherb Citer ce post dans votre réponse

 
 
Hayreon

Pilier

Enregistré le 18/01/2003
Messages: 1451
Non connecté

Ajouté le : 29/10/2004 14:19
Message :

Plop,

Au contraire, la base sql est tres bien faite et respect les bases fondamentales de la programmation. Quand au probleme de l'icone c est peut etre tout simplement un bug (si bug il y a car je n ai jamais eut ce probleme )


Avant de poster : La documentation - Les FAQ
Recharger l'url avec lien direct vers ce message Imprimer le message Aller en bas de page Aller en haut de page Editez ce post (réservé aux modérateurs) Avertissez l'administrateur si le post est non conventionnel Visitez le site de Hayreon!! Envoyer un Message Privé à Hayreon Citer ce post dans votre réponse

 
 
Jean-Glode

Pilier

www.suidzer0.org : projet décédé

Enregistré le 28/04/2002
Messages: 2352
Non connecté

Ajouté le : 30/10/2004 20:04
Message :

bucherb : peux tu être plus explicite ?

Pr ma part il faut aussi voir ce que consomme telle ou telle requête.

Sachant qu'on a plus de posts que de topics. Je vois mal devoir faire une jointure à chaque post...

Sachant que c'est cette requête qui sera le plus souvent appellé.

La redondance des infos peut permettre de conserver un meilleur rendement en terme de traitement.

Sachant que si tu parles d'integer on ne perd que 4 octets à chaque fois....

Voilà je sais pas si Coyote va intervenir ou pas, mais c comme ça que je vois les choses.

++

JG


-- Coolforum the best forum written in PHP and MySQL --
Recharger l'url avec lien direct vers ce message Imprimer le message Aller en bas de page Aller en haut de page Editez ce post (réservé aux modérateurs) Avertissez l'administrateur si le post est non conventionnel Envoyer un email à Jean-Glode!!! Visitez le site de Jean-Glode!! Envoyer un Message Privé à Jean-Glode Citer ce post dans votre réponse

 
 
TiGeR

Pilier

Roarr!!!

Enregistré le 16/01/2003
Messages: 3794
Non connecté

Ajouté le : 01/11/2004 01:05
Message :

A l'origine, il existait une seule table pour les posts et les topics et ce n'est qu'à partir de la 0.7 que Cool Coyote a divisé cette table en deux. Bien que certaines données sont doublées (et en conséquence augmente très légérement la taille de la base de données...), les tables sont mieux structurées et le forum est plus rapide. Si Coyote a fait ce choix, c'est qu'il a des raisons valables


CFP : Portail Web basé sur CF
CF Last Posts 0.8 : Derniers messages de votre CF sur votre site
Mods : Générateur de fichiers hackés pour CF

Recharger l'url avec lien direct vers ce message Imprimer le message Aller en bas de page Aller en haut de page Editez ce post (réservé aux modérateurs) Avertissez l'administrateur si le post est non conventionnel Visitez le site de TiGeR!! Envoyer un Message Privé à TiGeR Citer ce post dans votre réponse

 
 
Cool Coyote

Pilier

Administrateur

Enregistré le 26/09/2001
Messages: 2629
Non connecté

Ajouté le : 02/11/2004 00:58
Message :

La raison est simple, quand tu as un petit forum, peut importe, mais dès que tu commences à avoir un truc un peu balaize, les performances peuvent vite s'écrouler. En effet le soucis est que lorsque tu viens à afficher la liste des sujets, si tu n'as qu'une seule table tu vas devoir faire une recherche sur une DB de 12Mo par exemple pour la mienne. Or dans le cas présent avec une deuxième table, l'affichage gagne énormément en vitesse puisqu'elle ne fait que 330ko, autant dire trés peu...

La jointure est un mauvaix choix ici car il faut savoir qu'une jointure prend de la ressource. Dans certains cas elles sont avantageuses, dans d'autres pas, l'astuce étant justement de trouver comment les utiliser intelligemment. Ici ça sert pas à grand chose car la quantité d'infos dupliquées est minime donc il est préférable de perdre 100ko sur une DB qui fait 13Mo plutôt que de perdre en perfs lors de l'affichage des sujets.

En gros, tout est question de compromis pour favoriser les performances


Merci de respecter les règles d'ajout de messages !!

Avant de poser une question:

[Documentation] - [FAQ] - [Recherche]


Cool Coyote - Webmaster (me contacter)
Recharger l'url avec lien direct vers ce message Imprimer le message Aller en bas de page Aller en haut de page Editez ce post (réservé aux modérateurs) Avertissez l'administrateur si le post est non conventionnel Envoyer un Message Privé à Cool Coyote Citer ce post dans votre réponse

 
 


<<Sujet précédent     Sujet suivant>>

 
[Contacter l'administrateur] | [Aller sur CoolForum.net]

 
[12 requêtes] - [Page générée en 0.0281 secondes]
 

Powered by CoolForum v.0.8.5 beta
Copyright ©2001-2014 CoolForum.net