Je suis en train de coder un système de forum en utilisant PHP. Je stocke actuellement un ID de thread, un titre, un auteur, des vues et d'autres attributs dans une base de données SQL, puis stocke le corps de thread (HTML et BBcode) dans des fichiers texte dans un dossier nommé après l'ID de thread.Grandes chaînes: fichiers texte ou SQL DB?
En pratique, il est très simple de saisir les valeurs de la base de données, puis il suffit de récupérer le corps du fil dans le fichier texte, mais je me demandais si c'est la «bonne façon»? Je n'ai personnellement aucun problème à le faire, mais s'il s'avère que c'est massivement inefficace et que je devrais plutôt stocker à la place le corps de thread HTML et BBcode dans la base de données, alors je vais changer. Cependant, pour moi, il semble erroné de stocker une très grande (très probablement) grande chaîne de texte multiligne avec beaucoup de caractères différents dans une base de données - on m'a enseigné que les bases de données sont plutôt des valeurs de champ court plutôt que le contenu du site Web.
Je voudrais juste une réponse définitive à cette question, car il me dérange depuis des lustres pour savoir où je l'ai fait correctement.
Est-ce que quelqu'un sait comment les systèmes de forum populaires stockent des discussions?
Ajouté Merci pour les réponses, il est donc préférable de stocker le contenu du fil dans la base de données, quel type de champ dois-je utiliser? Qu'en est-il des réponses? Une autre table qui a l'ID de thread et l'ID de commentaire puis le corps de commentaire? Je suis nouveau dans cette base de données, merci pour votre aide.
Joomla - tout le contenu est dans la base de données. Drupal probablement aussi. D'innombrables systèmes stockent le contenu dans une base de données. (Attention, il ne s'agit que d'une statistique!) – MvanGeest
Il est préférable de poser une question de suivi distincte pour la conception de la base de données. Il n'y a pas de limite au nombre de questions que vous pouvez poser, et changer les critères signifie que ceux qui ont fourni les réponses à l'origine pourraient être downvoted - nous ne sommes pas alertés lorsque vous mettez à jour votre question. –
Ok ouais je comprends, merci! – Tommo