2

データベースにテキストを保存します。テキストはたまたまxmlです。

テキストの「ブロブ」を保存して読み取るだけです(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) 3 番目のオプションは、テキストをクライアント側で圧縮し、データをBLOB 列に格納することです。

4

1 に答える 1

0

これを XML として保存すると、nvarchar よりもストレージ サイズが小さくなる可能性が高くなります (少なくとも、無関係な空白やその他のフォーマットを削除したことにより、これは事実であることがわかりました)。ただし、SQL サーバーは、各挿入および更新の前に XML が整形式であるかどうかをチェックするため、その時点でパフォーマンスが低下する可能性があります。このチェックは、他のデータ型チェックと同様に利点でもあると私は主張します。

于 2012-05-03T17:14:18.387 に答える