2

我将在数据库中存储一些文本。文本恰好是 xml。

我只存储和读取文本的“blob”(我没有使用任何 xml 查询或索引工具)。

将列声明为xml

CREATE TABLE docs (pk INT PRIMARY KEY, xCol XML not null)

而不是nvarchar(max)

CREATE TABLE docs (pk INT PRIMARY KEY, xCol NVARCHAR(max) not null)    

我想如果我给 SQL Server 一个提示,那么text可以应用压缩以获得更有效的存储xml

注意:第三个选项是我在客户端压缩文本并将数据存储在varbinary(max)blob 列中。

4

1 回答 1

0

将其存储为 XML 很可能会导致比 nvarchar 更小的存储大小(我发现这是真的,至少由于删除了不相关的空格和其他此类格式)。但是,SQL Server 会在每次插入和更新之前检查 XML 的格式是否正确,因此您可能会在这些时候遭受性能损失。我认为这种检查与任何数据类型检查一样也是一个优势。

于 2012-05-03T17:14:18.387 回答