2

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

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

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

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

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

假设任何 UTF8 文本(小于 2GB)可以保存到 ESE“长 ASCII 文本”列值并从其加载,是否安全?

4

1 回答 1

1

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

如果您在 Windows 7 或 Windows Server 2008 R2 上运行,您应该调查列压缩。对于 XML 数据,您只需打开压缩即可获得显着的节省。

于 2010-03-06T11:26:37.960 回答