为什么要将序列化对象保存在数据库中?

时间:2013-01-11 15:39:55

标签: c# .net clr

为什么将数据库中的序列化对象保存为二进制而不是以简单数据类型分隔?

3 个答案:

答案 0 :(得分:2)

您可以序列化并存储对象层次结构 - 例如父对象及其子对象 - 在单个列中,传统上这种关系需要存储在多个表中。

答案 1 :(得分:2)

如果您不需要对dbms中的数据执行任何操作(即,所有查询都将获取整个对象),则将其存储为序列化对象会很有效。您总是可以规范化您的数据(即使它是分层的或列表),但是如果您总是获取整个数据,则可以通过存储您的对象(几乎)准备好使用来跳过一些数据库操作(例如JOIN)。

答案 2 :(得分:0)

原因可能是他们在一个数据表中存储了各种类型,并且有一个确定类型的字段。另一个原因是您可能需要使用一个表支持多个版本的对象。在某些情况下,这是完全可以接受的解决方案