基本的に同じことを行うストアド プロシージャの 2 つのバージョンがあります。大きなテーブルと、パラメーターとして提供される別のテーブルに対して、正しい結合クエリを実行します。
- 最初のバージョンは、XML を含む文字列を受け取り、から選択します
OPENXML
。 - 2 番目は、指定されたテーブル変数パラメーターを受け取ります。
2 番目のテーブル バージョンは、最初の XML バージョンよりもパフォーマンスが優れていると予想していました。これは、構文解析、doc オブジェクトの作成と破棄を明示的に行わないためです。ただし、私のテストでは、両方のバージョンがほぼ同時に実行されることが示されています。
その理由は何ですか?テーブル パラメータのシリアル化は文字列パラメータよりも悪いですか? XML クエリは非常に効率的ですか?