Hey,
@ haentschman: Was genau meinst du für eine Lizenzfalle? Davon habe ich noch nie gehört?
Deswegen nennt man es ja Falle
Wenn es jeder wüsste, wäre es keine Falle.
Du landest bei
mySQL recht schnell und unwillkürlich bei dem Problem, dass es bei Verkauf Deiner Programme, die Du ggF. mit
mySQL oder
mySQL Client Komponenten auslieferst nicht mehr kostenlos ist.
Ich bin da nicht ganz firm, weil ich niemals
mySQL einsetzen würde und es mich eigentlich nicht interessiert.
Zum Thema:
Eine Tabelle kann mehrere Indize haben.
Ein Index kann mehrere Spalten indizieren in Kombination, Reihenfolge der Spalten kann dabei von Bedeutung sein (im Verhältnis zur späteren Abfrage)
Ein Index hat einen Namen.
Eine Tabelle mit PK bekommt idr. automatisch einen Index "zugeteilt". (Man hat also Indizes in seiner
DB, ohne dass man je darüber nachgedacht hat)
Ein Index ändert nicht die Funktionsweise der Tabellen (nur die Geschwindigkeit)
(Ok, im Fall "ohne Index= unendlich langsam" gewissermaßen auch die Funtkion)
Art, Verwendung und Effekt eines Index ist in jedem
DB System und auch in jeder Version eines Systems anders.
Das "Gegenstück" zum Index ist der Optimizer, der vorhande Indizes analysiert und je Abfrage entscheidet, wie er sie benutzen wird.
Der Optimizer erstellt einen Ausführungsplan für jede Abfrage.
Den Ausführungsplan kann man sich anzeigen lassen, falls man sich wundert, warum die Abfrage so langsam ist.