6

現在、特定のテーブル データを監査するいくつかの監査テーブルがあります。

たとえば、ATAB_AUDIT、BTAB_AUDIT、および CTAB_AUDIT は、それぞれ ATAB、BTAB、および CTAB からの挿入、更新、および削除を監査します。

これらの監査テーブルは年ごとに分割されています。

これらの監査テーブルの列は同一であるため (change_date、old_value、new_value など)、1 つの大きな監査テーブルを使用するのが有益です。監査レコード (table_name) を生成したテーブルの名前を保持する列を追加し、table_name でパーティション化します。次に、年ごとにサブパーティションしますか?

データベースは Solaris 上の Oracle 11g です。

なぜ、またはなぜこれをしないのですか?

よろしくお願いします。

4

1 に答える 1

4

どちらのアプローチでも、パフォーマンス特性は非常に似ていると思います。この決定は、データをモデル化する方法のみに基づいて行います。これが、アプリケーションがデータベースと対話する方法です。あなたのパーティショニング戦略がこの決定に影響するとは思いません (少なくともこの例では)。

どちらのアプローチも有効ですが、単一テーブルのアプローチに夢中になり、すべてのデータを 1 つの大きなテーブルに入れることになる人もいます。この (アンチ) パターンには名前がありますが、思い浮かびません。

于 2011-07-15T13:59:02.250 に答える