セカンダリ インデックスを削除する理由として、以下のような理由があります。
- EXPLAINレポートが、テーブルのアクセス パターンが変更されていて、インデックスが最適化ルーチンで選択されていないことを示す場合があります。
この場合は、インデックスを保持することで記憶域リソースを浪費しているだけでなく、インデックスを保守することでシステム パフォーマンスにも影響を与えています。
- MultiLoadを使用してUSIのあるテーブルに行をロードできないため、新しい行をロードできるよう、テーブルで定義されたUSIを削除しなければならない場合があります。
MultiLoad操作が完了した後で、インデックスを再作成できます。
- セカンダリ インデックス サブテーブルに対して行なう必要がある並列保守の影響を受けるテーブルにセカンダリ インデックスが定義されていない場合は、一部の保守操作および大量の更新ジョブのパフォーマンスが改善する場合があります。
この問題に直面する場合は、インデックスを削除し、保守または更新タスクを実行してから、後でインデックスを再作成する方がパフォーマンスは向上します。多くの場合、インデックスを定義したデータ テーブルの実テーブルまたは結合インデックスに対する更新と並行してインデックスを更新するより、インデックスを再作成する方が効率的だからです。