1

XMLSQL Server 2005 で DataTypeを使用することの基本的な利点を理解しようとしていました。複数のレコードを削除する場合に備えて、こちらの記事を読みました。XML をシリアル化し、データベースに送信し、以下のクエリを使用して削除できます。

ここに画像の説明を入力

この DataType を使用することの他の利点を調べることに興味がありました...

編集

XML データを SQL Server 2005 に格納する理由

ファイル システムで XML データを管理するのではなく、SQL Server 2005 でネイティブの XML 機能を使用する理由を次に示します。

  1. データベース サーバーの管理機能を使用して、XML データを管理します (たとえば、バックアップ、回復、複製など)。

    私の理解- 明確にするために、いくつかの知識を共有していただけますか?

  2. XML データを効率的かつ処理された方法で共有、クエリ、および変更したいと考えています。細粒度のデータ アクセスは、アプリケーションにとって重要です。たとえば、ドキュメント全体を置き換えることなく、新しいセクションを挿入したい場合があります。

    私の理解- XML は特定の列の行にあります. この行のセルに新しいセクションを追加するには, 更新が必要なので, ドキュメント全体が更新されます. 右?

  3. サーバーが整形式のデータを保証し、必要に応じて XML スキーマに従ってデータを検証する必要があります。

    私の理解- 明確にするために、いくつかの知識を共有していただけますか?

  4. 効率的なクエリ処理と優れたスケーラビリティのために XML データのインデックスを作成し、一流のクエリ オプティマイザーを使用する必要があります。

    私の理解- 個々の列を追加することで同じことができます。では、なぜ XML 列なのでしょうか。

4

2 に答える 2

1

長所: xml スキーマによって自動的に制御できる xml データを保存できるため、一定レベルのデータ品質が保証されます。多くの Web/デスクトップ アプリはデータを xml 形式で保存し、データベースに簡単に保存してクエリを実行できます。アプリが使用する必要がある可能性のある xml データを保存するのに最適な場所です (構成設定など)。

短所: xml フィールドの使用には注意してください。無害なストレージとして開始される可能性がありますが、多くのレコードを検索、分析、およびレポートする場合、パフォーマンスの悪夢になる可能性があります。

また、xml フィールドが追加、変更、または削除されると、処理が遅くなり、複雑な t-sql が発生する可能性があります。

レプリケーションでは、ノードが 1 つだけ変更された場合でも xml 全体が更新されるため、簡単に解決できない競合がさらに多く発生する可能性があります。

于 2012-05-14T19:07:31.840 に答える
1

あなたが挙げた 4 つの利点のうち、次の 2 つは非常に重要です。

XML データを効率的な方法で共有、クエリ、および変更したい

SQL Server は、XML をプレーンな文字列の場合とは異なる最適化された方法で格納し、XML ドキュメント全体をクライアントに戻す必要がなく、効率的な方法で XML をクエリできるようにします。それぞれが 1k のデータを含む 10,000 個の XML 列に対してクエリを実行する場合、それがいかに非効率的であるかを考えてみてください。小規模な XPath クエリの場合、ネットワークを介して、クライアントごとに毎回 10k のデータを返す必要があります。

効率的なクエリ処理と優れたスケーラビリティのために XML データのインデックスを作成し、一流のクエリ オプティマイザを使用したい

これは私が上で述べたことと結びついており、ページの断片化の問題も発生するプレーンテキストの列よりもはるかに効率的に保存されます。

于 2012-05-15T08:45:07.847 に答える