这是一个以前(large-text-and-images-in-sql)问过的问题,但主要针对将要更改的数据.在我的情况下,数据将被存储,永远不会更改.把一切都放在一起似乎很明智.
有什么理由不应该在数据库中存储静态二进制数据吗?
假设这是一件明智的事情,那么将这些数据存储在单独的表中有什么好处吗?(您现在可能开始意识到我不是数据库专家…)
澄清:
这是一个以前(large-text-and-images-in-sql)问过的问题,但主要针对将要更改的数据.在我的情况下,数据将被存储,永远不会更改.把一切都放在一起似乎很明智.
有什么理由不应该在数据库中存储静态二进制数据吗?
假设这是一件明智的事情,那么将这些数据存储在单独的表中有什么好处吗?(您现在可能开始意识到我不是数据库专家…)
澄清:
将数据存储在数据库中的优势在于利用了数据库安全机制并降低了维护成本(备份等).它的缺点是增加数据库负载和消耗连接(对于每个连接许可的数据库服务器来说,这可能很昂贵).如果您使用的是SQL Server2008,那么FILESTREAM
可能是个不错的 Select .
顺便说一句,对于Web应用程序(或任何其他可能需要流式传输数据的应用程序)来说,将数据存储在DB之外通常更明智.