8

我试图了解 SQL Server 2008 如何存储 xml 列以尝试估计我们产品中的表大小。

DATALENGTH(xml_column)用来运行一些测试,结果令人不安:

Xml document length | Datalength | Bytes per character
175                 | 366        | 2.09
15                  | 38         | 2.53
314                 | 414        | 1.31

nvarchar(max)显然,正如我在某处读到的那样,xml 列类型并不是伪装的。

它可能已压缩并存储为二进制文件,但在任何地方都找不到。

有人可以解释一下 xml 列是如何存储在 SQL Server 2008 中的吗?

4

2 回答 2

7

XML 列以“紧凑的二进制格式”存储。

我怀疑微软会给你更多的细节。

于 2012-11-30T18:13:07.140 回答
5

正如rene所指出的,SQL Server 2008 使用MS-BINXML(一种紧凑的二进制格式)来存储 xml 列的内容。

于 2012-12-03T08:01:47.407 回答