使用XML而不是NVARCHAR(max)是否可以提高性能?

时间:2012-05-03 17:05:41

标签: xml sql-server-2005 blob

我将在数据库中存储一些文本。文本恰好是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实际上是xmlthen it can apply compression for more efficient storage

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

1 个答案:

答案 0 :(得分:0)

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

相关问题