迅速なパフォーマンスとレポートの容易さを確保するために SQL サーバーの Xml 列を操作するためのベスト プラクティスは何ですか?
カラムをどのように設定しますか? 型なしのままにしますか?またはそれをスキーマに関連付けますか?
xml 列をスキーマに関連付けると、クエリのパフォーマンスが向上しますか?
xml 列の使用方法は次のとおりです。
A.> お客様ごとに、データベースをオーバーホールすることなく、データの柔軟なストレージを定義できます。
B.> 単純なテーブル (Crystal Reports または Sql Server Reporting Services の場合) であるかのようにデータを返すレポート ビューを顧客ごとに作成する必要があります。
現在クエリに使用している構文は次のとおりです。
SELECT
Id,
doc.value('@associatedId','nvarchar(40)') as AssocId,
doc.value('@name1', 'nvarchar(255)') as Name1,
doc.value('@name2', 'nvarchar(255)') as Name2,
doc.value('@name3', 'nvarchar(255)') as Name3,
doc.value('@number', 'nvarchar(255)') as Number
From OrderDetails
CROSS APPLY OrderDetails.XmlData.nodes('//root/reviewers/reviewer') as XmlTable(doc)
これを行うより速い方法はありますか?このクエリは、100 万のレコードを持つテーブルでゆっくりと実行されますが、現在 xml データを持っているのは 800 だけです!
ありがとう
ピート