2015-08-22 44 views
-1

我目前在建立一个论坛在PHP它有一个用户帐户系统,选项等我有一个MySQL数据库设置处理帖子。该结构是沿着这样的线路:将用户评论存储在文本文件中有效吗?

id         [int(11), AI] The ID of the post. 
author        [varchar(20)] The author of the post. 
date         [datetime]  The day the post was published. 

有点原始,是的,但我不想透露我的数据库结构太多的细节,我希望你能理解。

我原本有一个bigtext专栏用于存储笔记和注释。它会一直充满了一个字符串,像这样:

user1("comment", "1 Example 2015"), user2("comment 2", "2 Example 2015") 

我会解析它在PHP和显示相应的说明和评论,但一些闪念:

会发生什么,如果我用完了空间?

我不知道一个论坛帖子能多少活动得到的,但在情况下,它确实增长到那种程度,或人不断追加到后一次又一次,什么会发生在表格行吗?

因此,我想出了一个的解决方案,使用一个文本文件,填充它的评论,并将其存储在文件夹只为该职位。这看起来像是一个存储注释的有效方式

+5

这些都不是正确的。创建一个评论表并标准化你的数据。 –

+1

我同意@Ed Cottrell。你必须为你的用户准备一张桌子,并在你的评论中加入一张桌子 – aldrin27

+0

你会加入这个非规范化的文本文件吗? – Drew

回答

2

如果你问是否将数据存储在文本文件中会起作用,那么你肯定可以使它工作。这是软件开发,一百万种皮肤猫的方法。现在,这是推荐的方式吗?取决于你与谁交谈,但我会亲自说不。

您必须记住,这些文本文件也将具有文件大小,仅仅因为注释在文件中,并不意味着所使用的磁盘空间会奇迹般地消失。而且,由于您将使用文件来存储它们,因此您用SQL查询和操作数据的许多内置功能都将丢失。我个人会采用一对多的方法,一个职位会有很多评论。看看这篇文章的更多详细信息:

One to Many MySQL

好运。

+0

这是一个很好的答案。我从来没有考虑到SQL真正拥有的力量,所以非常感谢! – Gumptastic

0

要创建基本论坛,您至少需要三张表(不包括用户表)。您需要一个类别,主题和评论表。主题应包含类别ID,评论应包含主题ID。保持一切关系,在遇到任何性能问题之前,您可以增长得相当大。不要忘记索引!