ESE列类型为XmlSerialize任意对象

时间:2010-03-06 02:16:30

标签: c# .net xml-serialization extensible-storage-engine

将对象XmlSerialize到ESE DB的最佳ESE列类型是什么?

“长二进制”和“长ASCII文本”都可以正常工作。

长二进制的原因:绝对确定没有人物对话。

长文本的原因:XML是文本。

似乎MSDN说这两种类型只在排序和搜索时有所不同。显然,我不打算在该专栏上创建任何索引;需要搜索和/或排序的字段存储在适当类型的单独列中。

是否可以安全地假设任何尺寸小于2GB的UTF8文本可以保存到ESE“长ASCII文本”列值并从中加载?

1 个答案:

答案 0 :(得分:1)

是的,您可以将任意长文本/二进制列中最多2GB的UTF8文本数据。长二进制文本和长文本之间的唯一区别是在列上创建索引时对数据进行规范化的方式。除此之外,ESE只是将提供的字节存储在列中而不进行转换。 ESE只能索引ASCII或UTF16数据,应用程序负责确保数据格式正确,因此将数据放入长二进制列似乎更正确。由于您没有创建索引,因此实际上没有任何区别。

如果您在Windows 7或Windows Server 2008 R2上运行,则应调查列压缩。对于XML数据,只需打开压缩就可以节省大量成本。