0

XML 列を含むテーブルがあります。ドキュメントは非常に大きく、数が多いため、基本的なクエリのパフォーマンスを向上させるためにさまざまな方法を試してきました。

XML スキーマを列に適用すると、SQL Server がクエリを最適化するのに役立つことがドキュメントに示されているため、スキーマ コレクションが利用可能だったため、スキーマ コレクションを作成し、その型を XML 列に適用しました。

クエリのパフォーマンスは崖から落ちました。

つまり、最も単純なテストが耐えられないほど遅くなったということです。列タイプを削除しましたが、クエリは以前と同じように実行されました。これは他の誰かに起こりましたか?

スキーマ自体はかなり大きく、精巧であることに注意してください。それでも、この結果は直感に反するように思えます。

編集:私の懸念は SELECT ステートメントのみです。実際、これらのドキュメントは編集されることはなく、参照されるだけです。したがって、レコードが挿入されて検証されると、最適化の可能性以外にスキーマが必要になる理由がわかりません。

また、XML 列のインデックスがパフォーマンスに悪影響を与える可能性があるこの問題についても認識しています。それは私の問題ではありません.インデックスは、私が実行しているクエリにプラスまたはマイナスの顕著な影響を与えていません.インデックスの有無にかかわらず上記のシナリオを試しました.

4

1 に答える 1

0

私はあなたがそこにあなたの答えを持っていると思います:

スキーマ自体はかなり大きくて精巧であることに注意してください

複雑なスキーマは、計算負荷が高くなる可能性があります。特に更新の方法で多くのことをしている場合は、スキーマを複数回検証する必要があります。

于 2009-04-09T23:48:34.590 に答える