今日のセットアップでは、XML データを取得し、そのデータを SQL の複数のテーブルに分割します。これの唯一の利点は、レポートが優れていることです。ただし、データを取得したいときはいつでも、何百ものテーブルからすべてのデータを再バインドして、XML を再エクスポートする必要があります。各 XML は、数 MB から数 GB になる可能性があります。
皮肉なことにレポートを実行することはほとんどありませんが、データの取得/保存は頻繁に行います。複数のテーブルで分割/コンパイルするため、保存と取得の両方があまり効率的ではありません。
データは XML として入ってくるので、メソッドを更新して XML を大きな BLOB としてテーブルに保存することを検討しています。それはとても簡単です。
この問題は現在、レポートに付随しています。BLOB のインデックスを作成する機能がないため、可能な限り効率的なレポートを実行するには、どのオプションを使用すればよいか考えています。
データベースは数百 GB です。
私は DBA ではありません (私は C# の人間です) - 仕事でこのポジションに就いたばかりなので、これについて考えることができる唯一の方法は、C# を使用してそれを行うことです - 各 BLOB を XML として構築してからクエリを実行することですC# の XML データ。ただし、これは非常に非効率的であるように思われます。SQL の XQuery の方が優れているのではないでしょうか?! DBA ではありませんが、プログラミング (C#/VB) や SQL に関する提案があれば、たいへん嬉しく思います。