在sql server中存储二进制文件

时间:2014-10-31 18:08:38

标签: sql-server asp.net-mvc-4

我正在编写一个需要将文档(word,pdf,excel等)与数据库中的记录相关联的mvc / sql server应用程序(支持sql server 2005)。最常见的做法是将文件保存在文件系统中,并且只保存数据库中文件的路径/引用。但是,在我的方案中,审计跟踪非常重要。我们已经有了一个框架来记录审计信息,无论何时在系统中进行更改,因此使用数据库来存储文档也会很好。如果文件存放在他们自己的表中,并带有FK到相关记录,那么性能会成为一个问题吗?我知道备份/恢复的潜在问题,但如果文档表变得非常大,db性能会在某些时候开始降低吗?如果它有任何区别我永远不会期望这个系统需要服务于接近100个并发请求的任何地方,可能是数十个请求。

1 个答案:

答案 0 :(得分:0)

将文件存储为数据库中的blob将增加数据库的大小,并且肯定会影响您知道并且为真的备份。

有很多事情要考虑数据库和代码服务器是否相同。

因为它恰好是代码服务器请求并从数据库服务器获取数据,然后从代码服务器获取数据到客户端。

如果文件大小太大,我会说去文件系统并在db。中保存文件路径。

另外,您可以将文件保存为db中的博客,它肯定会更安全,并且不会受到病毒等的侵害。