MySQL - neuer UNIQUE Key funzt nicht
Kalle_B
- datenbank
Hallöle,
wenn ich bei MySQL 3.23.58 und phpMyAdmin 2.5.3 auf eine Tabelle einen UNIQUE Key einrichte, kommt zwar keine Fehlermeldung, aber die "Kardinalität" 0 (Ziffer Null).
Ich vermute (ja, ich muss hier mit der Glaskugel und dem Kaffeesatz arbeiten, verdammte Sch...), dass zwei oder mehr Sätze den gleichen Key ergeben würden.
Wie bekomme ich diese doppelten Keys heraus?
Und - wenn der UNIQUE Key nicht funzt, akzeptiert dieses vorsintflutliche DB-System dann jede Menge doppelte Keys ?
Kalle
Hi,
wenn ich bei MySQL 3.23.58 und phpMyAdmin 2.5.3 auf eine Tabelle einen UNIQUE Key einrichte, kommt zwar keine Fehlermeldung, aber die "Kardinalität" 0 (Ziffer Null).
Das hab ich bei meiner 4er Version auch gerade gesehen, als das mit der Kardinalität 0. Einen UniqueIndex kann man nur entweder anlegen oder nicht. Wenn du ihn anlegen konntest, dann erfüllen auch alle Datensätze die Kriterien.
Ich gewinne gerade den Eindruck, dass PHPMyAdmin doch irgendwie auf Beziehungen abzielt und diese Kardinalität nur bei Fremd- und Primärschlüsseln befüllt, kann das sein?
MfG
Rouven
Hallo Kalle,
der Index hat funktioniert. Sonst hätte es einen Fehler gegeben. Wenn du dich darauf nicht verlassen willst, mach mal ein "SELECT DISTINCT" auf die Spalte des Index. Wenn die Anzahl der Ergebnisse sich nicht von einem "SELECT" unterscheidet, ist alles ok.
Die Kardinalität (cardinality) gibt an, mit welcher Wahrscheinlichkeit ein Index benutzt wird. Je höher, desto besser.
Mach mal ein "OPTIMIZE tabelle", dann sollte sich dieser Wert ändern.
Mach dich mal mit der Doku vertraut:
http://dev.mysql.com/doc/refman/4.1/en/how-to-avoid-table-scan.html
http://dev.mysql.com/doc/refman/4.1/en/explain.html
MfG
Erik