かなり大きなOracleデータベースを使用するプロジェクトで作業しています(私の質問は他のデータベースにも同様に当てはまります)。私たちは、ユーザーがフィールドのほとんどすべての可能な組み合わせで検索できるWebインターフェースを持っています。
これらの検索を高速化するために、ユーザーがよく検索すると思われるフィールドおよびフィールドの組み合わせにインデックスを追加します。ただし、お客様がこのソフトウェアをどのように使用するかは実際にはわからないため、どのインデックスを作成するかを判断するのは困難です。
スペースは問題ではありません。4テラバイトのRAIDドライブがあり、そのごく一部しか使用していません。ただし、インデックスが多すぎるとパフォーマンスが低下する可能性があるのではないかと心配しています。行が追加、削除、または変更されるたびにこれらのインデックスを更新する必要があるため、1つのテーブルに数十のインデックスを作成するのは悪い考えだと思います。
それでは、いくつのインデックスが多すぎると考えられますか?10?25?50?それとも、本当に一般的で明白なケースをカバーし、それ以外はすべて無視するべきでしょうか?