将对象 XmlSerialize 到我的 ESE 数据库的最佳 ESE 列类型是什么?
“长二进制”和“长 ASCII 文本”都可以正常工作。
长二进制的原因:绝对确定没有字符对话。
长文本的原因:XML 是文本。
MSDN 似乎说这两种类型仅在排序和搜索时有所不同。显然我不会在该列上创建任何索引;需要可搜索和/或可排序的字段存储在适当类型的单独列中。
假设任何小于 2GB 的 UTF8 文本都可以保存到 ESE“长 ASCII 文本”列值并从中加载是否安全?
最佳答案
是的,您可以将最多 2GB 的 UTF8 文本数据放入任何长文本/二进制列中。长二进制和长文本之间的唯一区别是在列上创建索引时对数据进行规范化的方式。除此之外,ESE 只是将提供的字节存储在列中而不进行任何转换。 ESE 只能索引 ASCII 或 UTF16 数据,应用程序有责任确保数据格式正确,因此将数据放入长二进制列似乎更正确。由于您没有创建索引,因此实际上不会有任何区别。
如果您在 Windows 7 或 Windows Server 2008 R2 上运行,您应该调查列压缩。对于 XML 数据,只需打开压缩,您就可以节省大量成本。
关于c# - ESE 列类型到 XmlSerialize 任意对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2391112/