将用户文本(例如博客条目或私人消息)存储在数据库中或作为平面文件更好吗?

时间:2012-03-30 22:35:43

标签: database file flat-file

我正在构建一个社交网络类型的网站,该网站将存储用户输入的大块文本,例如博客条目和私人消息。因此,这些将被输入一次,只需最少的修订,但随着时间的推移,多个用户会进行多次读取。顺便说一下,我正在使用MySQL。

我担心的是:

  1. 在数据库中存储大量文本将最终使数据库充满能力。

  2. 我在某处读到将用户文本存储在平面文件中存在安全风险? (文件名将由PHP动态生成,而不是由用户生成。)

  3. 如果我不得不重新初始化数据库并从备份中恢复数据,那么将它们存储为文本文件可能会导致它们不同步。

  4. 您的所有想法和建议,优点和缺点是什么?

2 个答案:

答案 0 :(得分:2)

鉴于以下事实:

  1. 磁盘便宜
  2. 数据库非常快速,非常好并且非常容易管理这类数据
  3. 对于像博客条目这样的东西来说,吹制容量很少出现问题(除非你是facebook)
  4. 您应该将其存储在数据库中。

    此外,您正在打破软件开发的“黄金法则”之一:不要早期优化。您基于文件的想法是优化,所以不要这样做 - 只需使用(更简单)数据库。如果它成为一个问题,那么担心(它可能永远不会)。

答案 1 :(得分:1)

将文件存储在一个单独的表中,并引用该记录。因此,当它是可空字段时,不要为数据库中的特定字段获取xxx资源。在存储博客之前,还要压缩内容。但这只是对实施的意见。