我将在数据库中存储一些文本。文本恰好是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
,then it can apply compression for more efficient storage。
注意:第三个选项是我压缩文本客户端并将数据存储在varbinary(max)
blob列中。
答案 0 :(得分:0)
将其存储为XML很可能会导致存储空间小于nvarchar(我发现这是真的,至少是因为删除了无关的空白区域和其他类似的格式)。但是,SQL Server将在每次插入和更新之前检查XML是否格式正确,因此您可能会在这些时候遭受性能损失。我认为这种检查也像任何数据类型检查一样有优势。