这是一个以前(large-text-and-images-in-sql)问过的问题,但主要针对将要更改的数据.在我的情况下,数据将被存储,永远不会更改.把一切都放在一起似乎很明智.

有什么理由不应该在数据库中存储静态二进制数据吗?

假设这是一件明智的事情,那么将这些数据存储在单独的表中有什么好处吗?(您现在可能开始意识到我不是数据库专家…)

澄清:

推荐答案

将数据存储在数据库中的优势在于利用了数据库安全机制并降低了维护成本(备份等).它的缺点是增加数据库负载和消耗连接(对于每个连接许可的数据库服务器来说,这可能很昂贵).如果您使用的是SQL Server2008,那么FILESTREAM可能是个不错的 Select .

顺便说一句,对于Web应用程序(或任何其他可能需要流式传输数据的应用程序)来说,将数据存储在DB之外通常更明智.

Database相关问答推荐

Golang Gorm和Gin无法创建具有关联的对象

我们可以在 CnosDB 中的单个数据库中创建的标签数量是否有限制?

如何将表字段的默认值设置为 0.00?

发布 Oracle 和 SQL Server 性能测试是否违反许可?

时间数据库设计,有一个转折(live vs draft rows)

更新数据库后如何更新redis?

MySQL 慢查询日志(log) - 慢有多慢?

使用 Mongoose 删除索引的推荐方法是什么?

便携式(PHPPass)密码哈希.我应该使用它们吗?

对百万行表,MySQL 的 LIKE 查询的性能怎样?

锁定机制(悲观/乐观)如何与数据库事务隔离级别相关?

我们如何保存在 sqlite3 中创建的数据库

Redis: Get key and value on expiration

数据库中的整数与字符串

MySQL 数据库中列名中的连字符

您最喜欢在 django 中管理数据库迁移的解决方案是什么?

MongoDB中的数据库数据大小

Sqlite 和 Python - 使用 fetchone() 返回字典?

标准化人类皮肤 colored颜色 以进行用户交互

如何在我的数据库中避免 NULL,同时还表示丢失的数据?