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还是平面文件?的主要内容,如果未能解决你的问题,请参考以下文章

SSIS - 如何从平面文件插入到具有日期范围的OLE DB?

平面文件到 SSIS 中的 Netezza 加载

故事地图还是平面积压? [关闭]

如何在cad平面中画出立体图????

「专题总结」半平面交(6/8completed)

高速IC下方能否布线还是应该保留完整局部地平面