Closed. This question is opinion-based。它当前不接受答案。
想改善这个问题吗?更新问题,以便editing this post用事实和引用来回答。
2年前关闭。
Improve this question
这是一个以前曾问过的问题(large-text-and-images-in-sql),但主要是要更改的数据。就我而言,数据将被存储并且永远不会改变。将所有内容保持在一起似乎很明智。
有什么原因为什么我不应该在数据库中存储静态二进制数据?
假设这样做是明智的,那么将这些数据存储在单独的表中是否有任何优势? (您可能现在开始意识到我不是数据库专家...)
澄清:
可能不会超过10-20个用户,但这些用户将在美国和英国。在任何情况下都必须传输二进制数据。
想改善这个问题吗?更新问题,以便editing this post用事实和引用来回答。
2年前关闭。
Improve this question
这是一个以前曾问过的问题(large-text-and-images-in-sql),但主要是要更改的数据。就我而言,数据将被存储并且永远不会改变。将所有内容保持在一起似乎很明智。
有什么原因为什么我不应该在数据库中存储静态二进制数据?
假设这样做是明智的,那么将这些数据存储在单独的表中是否有任何优势? (您可能现在开始意识到我不是数据库专家...)
澄清:
可能不会超过10-20个用户,但这些用户将在美国和英国。在任何情况下都必须传输二进制数据。
最佳答案
将数据存储在数据库中的好处是可以利用数据库安全性机制并减少维护成本(备份等)。它的缺点是增加了数据库负载并消耗了连接(这对于每个连接许可的数据库服务器而言可能是昂贵的)。如果您使用的是SQL Server 2008,则 FILESTREAM
可能是一个不错的选择。
顺便说一句,对于Web应用程序(或可能需要流式传输数据的任何其他应用程序),将数据存储在DB外部通常更为明智。
关于database - 您将二进制数据存储在数据库还是文件系统中? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/662488/