1

次のシナリオがあります。

2 台の DB サーバー (相互にリンク)

DB1 には、トランザクション レコードを含む (大きな) テーブルがあります。 DB2 には、トランザクション レコードを含む (まだそれほど大きくはない) テーブルがあります (性質は似ていますが、システムが異なるため、一部のデータはありません)。 DB1 のトランザクション テーブルからレコードを取得し、DB1 の多数のテーブルと結合します。

DB1 のデータを使用して、DB2 のデータを DB1 のデータのように見せることができます。

DB2 からトランザクション データを取得し、DB1 のデータと結合して DB1 のトランザクション データと同じ列を持つビューを DB1 に作成し、DB1 のデータと最初のデータを結合する別のビューを作成するとします。この 2 番目のビューに対するクエリは、DB1 と DB2 のトランザクション データのインデックスを引き続き利用しますか?

それとも、古いレポートが新しいデータについて報告できるように、新しいシステムから古いシステムにデータを後付けするより良い方法はありますか?

4

1 に答える 1

0

セットアップの詳細を知らなくても、リンク サーバーを介したクエリが最終的にインデックスを使用するかどうかに関係なく、2 つのシステムのデータをそのままにしておくことをお勧めします。状況を考えると、物事をセットアップする方法は合理的に聞こえます。ただし、 2 つのデータ セットを結合する必要があることがわかっているので、1 つのサーバーが両方のトランザクション負荷を処理できる場合は、1 つのサーバーから別のサーバーにデータを移行することを検討します。これにより、クエリの全体的なパフォーマンスが向上すると思います。繰り返しになりますが、サーバーとネットワーク インフラストラクチャがどのようなものかによって大きく異なります。

于 2011-05-16T19:26:19.643 に答える