【发布时间】:2013-12-21 16:25:36
【问题描述】:
我正在设计一个系统,可以创建一个条目,然后将附件添加到该条目,然后将其保存到数据库中。但是我对如何实现附件处理有两种看法。
我在两种方法之间挣扎:
- 将附件直接作为 blob 字段类型保存到数据库中
- 将目录路径保存到数据库中,并将实际文件保存到服务器
据我所知,这两种方法各有利弊。
第一种方法会将所有数据保存在同一个位置,因此如果我愿意,我可以轻松地将其移动到其他地方。就“数据在哪里”的猜测而言,它也使事情保持一致。另一方面,我听说保存这样的东西非常耗费资源,并且数据库大小会大幅增长。
第二种方法将允许数据库保留易于管理的数据字段,如文本和数字,而更重的东西在服务器上。如果需要,这也将允许更直接地访问文件。另一方面,数据是分离的,更难以跟踪,并且还需要引入文件系统访问以检索所述文件。
我倾向于第 1 种方法,但为此我希望得到以下答案:
将附件直接保存到数据库会如何影响数据库大小和 应用性能?
【问题讨论】:
-
“永远不要”是一种严重的夸大其词
-
@Sam 为什么?请我想听听一些推理,因为我已经看到将文件直接保存到数据库的应用程序,所以显然有人认为这是个好主意。
-
@Grietom 看到我的回答
-
@Grietom 只是因为有人这样做,并不意味着这是一个好主意
-
也不代表这是个坏主意!