私は3つの非正規化されたテーブルを持っています。これは、額面で取る必要があります(データは外部リソースからのものです)。 3つのテーブルは異なる定義を持っていますが、それぞれ異なる視点から同じオブジェクトを記述します。さまざまなテーブルのIDを(素早く)照合するにはどうすればよいですか?
object1 A B
object2 A
object3 B C
object4 C
これらの表の唯一の共通点は、主キーです。私はSELECT UNION SELECTを使用してIDを纏めることができますが、各テーブルのPKフィールドのインデックスが作成されていても、クエリは比較的遅いようです。このクエリを抽象化するビューvw_object_idsを作成できましたが、同じ速度で実行されます。私は、ビューを具体化するためのインデックスを追加することができたと思ったが、SQL Server 2005では、UNIONでビューをインデックス化することはできません。
私が望むのは、IDのマスタインデックスを基になるデータと同期させ、いつでも更新または削除されるようにすることです。私は狂ったトリガーセットでこれを無期限に達成することができたと思います。インデックスのないビューの速度を落ち着かせるだけです。しかし、私はちょうど私がオプションを逃していないか、このシナリオが名前を持っているかパターンを示しているかどうかを確かめたいと思っていました。
思考?
しかし、これは実際にマスターテーブルを作成して同期する方法には答えません。 –
最新の記事を参照してください。 – Quassnoi