クライアントでXMLを実行するのではなく、サーバーでXMLを細断処理することが良いか悪いかは、さまざまな要因によって異なりますが、要件は完全に有効である可能性があります。 SQL Server 2005以降のXML(XPath / XQuery / XMLインデックス)の広範なサポートを考えると、サーバー上でXMLを細断処理することは、多くの場合、非常に賢明なアプローチです。
ただし、投稿にあるのは、XMLを使用したデータのセマンティックモデリングの例です。いくつかのホワイトペーパーを確認することをお勧めします:
- パフォーマンスとスケーラビリティのためのセマンティックデータモデリングのベストプラクティス
- Microsoft SQLServer2005のXMLベストプラクティス
- SQLServer2005のXMLデータ型のパフォーマンスの最適化
- SQLServerでXMLデータを使用するためのパフォーマンスのヒント
あなたの例の@table1が単なる例なのか、本番環境で使用する実際のデータ構造なのかはわかりませんが、これらの論文を読んだ直後にいくつかのポイントが飛び出します:
- 可能な場合は型付きXMLを使用します(スキーマを追加します)
- 必要な処理に適切なXMLインデックスを使用する
- 3つの連続したステップではなく、1つの変換ですべてのXMLを細断処理してみてください
そして最後に、すべてを細断する必要がある場合 クエリを実行するときは、おそらくデータモデルを分析する必要があります(これが私のリストの最初の論文が役立つところです)。