DB还是平面文件?
Posted
技术标签:
【中文标题】DB还是平面文件?【英文标题】:DB or flat file? 【发布时间】:2011-03-09 14:37:48 【问题描述】:只是一个小问题。 我应该将 html textarea 内容放入数据库或平面文件中吗? textarea 内容可能很长(如文章或项目)。
感谢您的帮助。 西尔维奥。
【问题讨论】:
请告诉我您正在使用的数据库。 “问题”不是合适的标签 什么样的内容?有多少用户将访问数据?写访问会同时发生吗?什么是“非常长”的字节数? 在某些合法情况下,平面文件可能有意义,但在不知道应用程序用途的情况下无法回答。 @all - 我正在使用 mysql atm。 textarea 的内容可以很长,就像杂志上的文章一样。 【参考方案1】:在 db 中使用 text 类型而不是 string, varchar 类型。
注意:-mysql中的文本字段限制为65kb
编辑
或者你应该看看使用MySQL's LONGBLOB or LONGTEXT 数据类型。它们可以分别存储多达 4 GB 的二进制或文本数据。
【讨论】:
text 不一定是一个好的选择,因为它已被弃用 MSDN source 我的错,我不应该假设 SQLServer,你提到的其他数据库及其类型是完全有效的。 +1。 这对我的目的来说是完美的。【参考方案2】:以下是我想到的一些优点和缺点(我在这两种方法中都取得了不同程度的成功):
数据库专家
众所周知的读/写数据模型。 如果您的应用程序的其余部分基于数据库,则此解决方案非常适合。 数据库已经具备并发机制。 只要您备份数据库,您的文档就会备份到(并与数据库的状态同步)。数据库缺点
理论上,从数据库中提取文件的效率低于直接从文件系统中提取的效率。 db 服务器必须从磁盘读取数据,转换成它的网络协议,等等。 如果仅使用一台数据库服务器,从数据库中提供这些文件是一个潜在的可扩展性瓶颈。平面文件专家
简单的操作:写入、删除、读取。 可能开销很低。如果从 Web 提供服务,则只需将服务器指向文件即可。平面文件缺点
您必须处理并发操作(如果一个用户想要写入文件而另一个用户正在读取,等等)。在您的情况下,这可能是也可能不是问题。 这是另一种需要备份/保持同步/维护的信息。 您必须将文件的安全性作为独立于数据库中其他数据的问题来处理。【讨论】:
【参考方案3】:毫无疑问的数据库。
平面文件没有多大意义,因为当您开始扩展您将执行的操作时,您必须创建更多文件并且更容易丢失轨道。
从数据库开始,随着您的成长,您可以通过使用 structured query language
来更快、更复杂地进行选择,这个名字说明了一切。
【讨论】:
以上是关于DB还是平面文件?的主要内容,如果未能解决你的问题,请参考以下文章