使用している Web サイトに応じて、米国またはカナダのデータベースを使用する ASP.NET MVC 4 アプリケーションがあります。
このプログラムを使用すると、さまざまなフィルターでジョブ データをフィルター処理でき、基準は多数のテーブル結合を含む SQL クエリに変換されます。データはフィルタリングされ、グループ化/集計されます。
ただし、現在、新しい要件があります。カナダのサーバーと米国のサーバーの両方で、データに対してクエリを実行し、グループ化と集計 (平均給与) を実行します。
現在、ルックアップ テーブルは両方のデータベース サーバーで複製されています。
私が考えていたアプローチは次のとおりです。
米国のサーバーでクエリを実行し、カナダのサーバーで再度クエリを実行してから、メモリ内のデータをマージします。
使用例の 1 つを次に示します。企業を平均給与でランク付けします。ロジックとしては、ジョブ テーブルをフィルター処理してクエリを実行し、結果を会社と平均給与別にグループ化するだけです。
これを行う他の方法はありますか?レポート ビュー テーブルに夜間ジョブを入力し、そのレポート テーブルに対してクエリを実行することを考えていました。正直なところ、クエリ自体は最初からそれほど高速ではありません。実行中、カナダのデータベースに対して再度クエリを実行すると、サイトの速度が大幅に低下するようです。
何か案は?