代码之家  ›  专栏  ›  技术社区  ›  Soonts

用于XmlSerialize任意对象的ESE列类型

  •  2
  • Soonts  · 技术社区  · 14 年前

    将对象xmlserialize到我的ese db的最佳ese列类型是什么?

    “长二进制”和“长ascii文本”都工作正常。

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

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

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

    是否可以安全地假设任何大小小于2gb的utf8文本都可以保存到ese“long ascii text”列值并从中加载?

    1 回复  |  直到 14 年前
        1
  •  1
  •   Laurion Burchall    14 年前

    是的,您可以将高达2gb的utf8文本数据放入任何长文本/二进制列中。长二进制和长文本之间的唯一区别是,在列上创建索引时,数据被规范化的方式。除此之外,ese只在列中存储提供的字节,而不进行转换。ese只能索引ascii或utf16数据,应用程序有责任确保数据的格式正确,以便将数据放入长二进制列中看起来更为正确。因为你没有创建索引,实际上不会有任何区别。

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