Antwort #3 am: 11. Dezember 2009, 00:38:43
Hallo Helmut,
Obwohl es ein Haufen Artikel sind - weitere Indizes sind kein Problem bei dieser Menge an Datensätzen, wenn Du das meinst. Für eine DB ist eine Tabelle mit 15000 Sätzen 'klein'. Den Platzbedarf für Indizes kannst Du gegenüber der Nutzlast vernachlässigen. Der Artikelbestand wird in shops normalerweise wenig geändert, dh an der Stelle machen weitere Indizes auch kein Problem, selbst wenn Du 1,5 Mio Artikel hättest.
Wichtig ist nur, dass die Indizes bei einer Abfrage auch genutzt werden (können), das hängt von der Abfrage ab. Du kannst ohne weiteres zum Ausprobieren in der DB Indizes setzen und wieder löschen, die Dir sinnvoll erscheinen, und dann die Performance vergleichen. Zum einfacheren Testen kannst Du Dir vom shop das jeweilige SQL-Statement ausgeben lassen und direkt mit einem DB-Tool ausführen. Denk aber daran, dass die DB Dein Abfrageergebnis cachet, dh, nachfolgende Ausführungen der selben Abfrage sind fast immer schneller als die erste. Um diesen Effekt zu vermeiden, kannst Du bspw zwischendurch den DB-Cache mit anderen Abfrageergebnissen füllen und so Dein vorheriges Ergebnis rausdrängen.
Wenn Du zusätzliche Indizes findest, die bei Deinen Tests einen Unterschied gemacht haben, lass es uns bitte wissen. Im Testshop haben wir nämlich leider keine 15000 Artikel
Grüße, Volker