Ich arbeite an einem Projekt mit einer ziemlich großen Oracle-Datenbank (obwohl meine Frage auch für andere Datenbanken gilt). Wir haben eine Weboberfläche, mit der Benutzer nach nahezu jeder möglichen Kombination von Feldern suchen können.
Um diese Suche zu beschleunigen, fügen wir den Feldern und Feldkombinationen, nach denen Benutzer unserer Meinung nach häufig suchen, Indizes hinzu. Da wir jedoch nicht genau wissen, wie unsere Kunden diese Software verwenden werden, ist es schwierig zu sagen, welche Indizes erstellt werden sollen.
Raum ist kein Problem; Wir haben ein 4-Terabyte-RAID-Laufwerk, von dem wir nur einen kleinen Bruchteil verwenden. Ich bin jedoch besorgt über die möglichen Leistungseinbußen bei zu vielen Indizes. Da diese Indizes jedes Mal aktualisiert werden müssen, wenn eine Zeile hinzugefügt, gelöscht oder geändert wird, halte ich es für eine schlechte Idee, Dutzende von Indizes in einer einzelnen Tabelle zu haben.
Wie viele Indizes werden als zu viele angesehen? 10? 25? 50? Oder sollte ich nur die wirklich, wirklich häufigen und offensichtlichen Fälle behandeln und alles andere ignorieren?