9400万行のテーブルで作成するのに25分かかる関数ベースのインデックスがあります。
インデックスを削除すると、18分かかります。
なぜそんなに時間がかかるのですか?ドロップはほぼ即時だったと思いますか?約10分後にインデックスがuser_indexesから削除されますが、スクリプトはさらに約8分間実行されます。
テーブルはパーティション化されており、これはOracle 10g RACインストールです。さらに情報が役立つ場合は、必要に応じて追加できます。
これに当てはまるどんな光でも大歓迎です。
関数ベースのインデックスは仮想列を追加します をテーブルに追加します(この列にはインデックスが付けられます)。インデックスを削除すると、仮想列が削除され、クリーンアップに時間がかかります(非仮想列の削除と同じ量の作業)。