Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PhP SQL注释系统_Php_Sql - Fatal编程技术网

PhP SQL注释系统

PhP SQL注释系统,php,sql,Php,Sql,我有一个系统,人们可以上传一些东西,然后一个链接就可以识别上传的文件并显示给其他用户。每个文件都有自己的页面,并有一个注释框。现在我已经大致了解了如何创建PHP脚本和SQL,我只有一个问题。什么会更好?是否将每个文件的所有注释存储在一行中,并为每个新注释添加分隔符?或者为每个注释输入创建新行,但对文件具有相同的引用?我更希望每条评论在SQL中都有自己的行,但这样它就可以很容易地增加到每天数千条条目,我不确定这是否有效 这两种方法中哪一种最有效 如果(每个)注释长度受到限制,则使用VARCHAR类

我有一个系统,人们可以上传一些东西,然后一个链接就可以识别上传的文件并显示给其他用户。每个文件都有自己的页面,并有一个注释框。现在我已经大致了解了如何创建PHP脚本和SQL,我只有一个问题。什么会更好?是否将每个文件的所有注释存储在一行中,并为每个新注释添加分隔符?或者为每个注释输入创建新行,但对文件具有相同的引用?我更希望每条评论在SQL中都有自己的行,但这样它就可以很容易地增加到每天数千条条目,我不确定这是否有效

这两种方法中哪一种最有效

如果(每个)注释长度受到限制,则使用
VARCHAR
类型选择seprate行。如果您为与每个文件相关的所有注释选择单行,那么您不能事先估计注释的长度,您将不得不声明它
TEXT
type,这意味着数据将存储在单独的文件中,这将对检索时间产生负面影响。此外,使用单独的行,高级查询和数据挖掘将更容易


此外,单独的行将符合高阶规范化的某些要求。

为每个注释添加新行将更有意义。您可以在comment表中有一个列,它将是FileID,并且可以根据它轻松地过滤结果。虽然您将有人对它进行评论,这将添加行,但它将比只有一行更有效率。特别是考虑到您可能没有足够的空间在一行中容纳数千条评论


如果你真的担心有太多的评论,你应该考虑像MongoDB或Cassandra这样的NoSql解决方案。这些系统专门用于处理大量插入(即:新注释)。

确保注释具有设置的maxlength,并从数据库中获得具有
VARCHAR
类型的行不建议使用delemeters将数据保存在一个字段中,如果您想在稍后阶段(日期/发布人/等)保存有关评论的信息,甚至在查询信息时也会遇到麻烦

将它们作为单独的条目保存在单独的表中,并引用uploadId