Hallo,
für eine Webapplikation muss eine sehr effiziente Suche durch Indizes implementiert werden.
Im Datenmodell habe ich die Daten nach 3. Normalform in Look-Up-Tabellen organisiert. Das heißt, dass im Prinzip immer nur die Ziffer, die ohnehin der Primärschlüssel ist, als Index vorhanden ist, und diese Ziffer auch im Endeffekt bei der Suchabfrage selektiert wird.
Die zu implementierende Suche der Webapplikation wird aber aus vielen Einzeltabellen die Daten zusammenglauben, d.h zB
Aus Tabelle A den Eintrag 3
Aus Tabelle B den Eintrag 2
Aus Tabelle C den Eintrag 7
Aus Tabelle D den Eintrag 5
Jetzt meine Frage dazu:
Ist die Suche so eigentlich effizient, wenn die Indizes Tabelle für Tabelle gesetzt sind (wie sie aufgrund des PK ohnehin sind), oder wäre es noch effizienter, wenn ich einen Index so anlege, dass ich sage, dass "Index XYZ aus PK / TabA, PK / TabB, PK / TabB, PK / TabC" besteht, also ein zusammengesetzter Index aus den Primärschlüsseln von 4 Einzeltabellen sozusagen?
Falls dem so ist, wie verhält sich das DBMS, wenn ich irgendwann nur doch nach 3 Werten dieser 4 aus dem zusammengesetzten Index suchen muss?
Geht das DBMS dann so vor, dass es erst wieder die Einzelindizes abfragt, oder nimmt das DBMS trotzdem den zusammengesetzten Index, da ja hier bereits 3 der 4 Werte "zusammen gespeichert" sind?
Markus