私はデータ移行プロジェクトを行っています。ここでは、一部のテーブルは一度しか読み込まれません。 I. 1つのInsert Inを選択するだけで表が完全にロードされます。インデックスなしで検証制約/主キーを作成することはできますか?
プライマリキーと制約を使用してデータの整合性を保証したいと考えています。
Oracleでは、主キーまたは制約を作成すると、自動的に対応する索引が自動的に作成されます。
インデックスの作成を無効にすることはできますか?ただし、必要に応じて制約を検証する必要があることに注意してください.Oracleが実際に検証を行う必要がある場合は、インデックスを作成するか(必要に応じて)、またはフル・テーブル・スキャンを実行します。
このインデックス作成を無効にするか、延期する理由は、作成されるインデックスのほとんどが実際には使用されないことに気付いたことです。これは、すべてのインデックスのUsage Monitoringを有効にし、データ移行プロセスを実行してv $ object_usageを検証することで行います。
私の2セント:制約の考え方はチェックされているということです。そして、あなたは本当にインデックスを使用したいという制約をチェックします。したがって、制約を作成しないでください(手動でチェックするか、dbトリガーを使用する)か、インデックスの作成を受け入れます。 –
私の場合、実際にはチェックされていないと思います(少なくともインデックスを使用していません)。私は何が起こっているのだろうと推測しているのは、対応するテーブルから外部キーを直接ロードしているときに挿入オラクルが制約チェックをスキップしているということです(そのような場合、Oracleは制約チェックを実際に行う必要はありません一致レコードは実際に存在します)。 – vicsz
幸いにも、Oracleはあなた(または他の誰か)がこのような間違いをすることを許可しません。 –