アナライズとインデックス作成どちらが先か?こんにちはゲストさん。>>締切り済みの質問アナライズとインデックス作成どちらが先か?Oracle10gで、テーブルにデータを入れた後、以下はどちらを先に実行すべきでしょうか。作成すれば、インデックスの統計情報が取得されないことになってしまいます。表の統計情報が存在していれば索引作成時には索引の統計情報が自動的に取得されるようです。明示的に取得することが望ましいことには変わりありませんが。・INDEXが使用されているかの監視が必要になります。(0)通報するANo.3entree先に統計情報を取得してからインデックス(プライマリキー設定も含む)を作成すれば、インデックスの統計情報が取得されないことになってしまいます。アナライズ(統計情報の取得)が良いのではないでしょうか。・プライマリーキーの作成(本来、テーブルを作成した時にセットで作成すべきもの。何がプライマリーキーになるかは、テーブル設計をした段階で必然的に決まっているはず。key句は、オプションでなく必須と思った方が良いくらいです。・アナライズ(この結果で、どのフィールドに追加インデックスをつけるかを分析・決定する。・定期的なアナライズ(これは、オプティマイザーのための統計情報更新です。これより更に前の業務分析がきっちり出来ていれば、テーブル設計とセットである程度のインデックス構成は浮かび上がっているものですけどね。その場合は、ある程度のインデックス生成はテーブル生成とセットでしょうね。ユニークインデックスに関しては、効率化よりも、制約として重要です。その筆頭がプライマリーキーで、これが決定されていないと、外部制約などがくめなくなってしまいます。当然ですが、制約は、データを投入する前に決定と設定がなされている必要があります。(制約が一番仕事をするのはデータの投入時ですからね。後で制約をつけた時にデータエラーを指摘されるより、データ投入時に見つけてもらった方が良いに決まってますから。・アナライズ(統計情報の取得)だと思います。どのインデックス使うのが有効かなどを統計情報から得るのがアナライズの目的ですから。