在sql server中存储大文件

时间:2010-12-29 20:02:30

标签: sql

在sql server中存储大型照片/文本文件的最佳做法是什么。需要可扩展性,我们只需要使用1台服务器。

我觉得在sql中存储文件路径而不是blob更好。这是真的?如果我们必须扩展软件,我们仍然应该遵循这种方法。

3 个答案:

答案 0 :(得分:10)

这取决于文件的大小。

关于这个问题有一篇很好的微软白皮书,here

  

小于256K的对象最好存储在数据库中,而大于1M的对象最好存储在文件系统中。在256K和1M之间,读取:写入比率和对象覆盖或替换率是重要因素

当然,他们的结论特定于SQL Server(2005和2008 R2)。

答案 1 :(得分:1)

这主要是使用正确的工具来完成工作的问题。为了存储关系数据,已经花费了大量时间和精力来优化关系数据库。为了存储文件,已经花费了大量时间和精力来优化文件系统。

前者可用于执行后者的部分工作,但除非有充分理由不使用后者,否则它是更适合工作的工具。几乎在每种情况下我都会遇到,在DB中存储文件路径(以及有关您可能需要的文件的其他相关信息)以及FS上的实际文件是一种更适合使用可用工具的方法。 / p>

答案 2 :(得分:1)

这是一个坏主意。除非您有一些非常具体的理由将数据存储在数据中。这里已经讨论过了:Storing Images in DB - Yea or Nay?

如果您仍然坚持,请阅读最佳做法:) Best Practices for uploading files to database