Seite 1 von 1
PRIMARY KEY, UNIQUE, INDEX - Unterschiede [fertig]
Verfasst: 13.03.2005 14:37
von shwepsi
Hallo,
wie im Titel bereits angegeben habe ich eine Frage zu MySQL. Ich habe auf
http://dev.mysql.com mal gesucht, finde aber nicht wirklich was passendes.
Primary key ist ein eindeutiger Wert an dem die Zeile identifiziert wird, normalerweise eine Nummer, richtig?
Unique? ist das nicht das gleiche wie ein Primary Key? Wenn ja wo ist der Unterschied?
Index: Hier verstehe ich leider nur noch Bahnhof...
Wäre jemand so freundlich mich zu berichtigen und den Rest zu erklären?
Verfasst: 13.03.2005 14:55
von Leuchte
Bei Primary Key darf der Wert nicht NULL sein, muss also vorkommen. Unique hingegen kann auch NOT NULL sein
Verfasst: 13.03.2005 15:15
von shwepsi
Leuchte hat geschrieben:Bei Primary Key darf der Wert nicht NULL sein, muss also vorkommen. Unique hingegen kann auch NOT NULL sein
nun bleibt
Index übrig, was ist Sinn und Zweck dieses Indizes? phpBB macht ja regen Gebrauch davon...
@Leuchte: Danke
Verfasst: 13.03.2005 15:19
von Leuchte
Vergleich den Index einer DB mit dem Inhaltsverzeichnis eines Buches. Wenn du im Buch eine Stelle suchst, ist es mehr Arbeit das komplette Buch nach dieser Stelle zu durchsuchen, als im Glossar oder Inhaltsverzeichnis danach zu suchen. Stell dir vor, deine DB hat 80333 Einträge und du suchst alles zum Eintrag 60338, so muss die DB nicht von Anfang an alle Einträge durchsuchen, sondern sucht den passenden Index zu diesem Eintrag. Verstanden?
Ich bin mir sicher, dazu findest du auch was bei google.
Verfasst: 13.03.2005 15:25
von shwepsi
Leuchte hat geschrieben:Vergleich den Index einer DB mit dem Inhaltsverzeichnis eines Buches. Wenn du im Buch eine Stelle suchst, ist es mehr Arbeit das komplette Buch nach dieser Stelle zu durchsuchen, als im Glossar oder Inhaltsverzeichnis danach zu suchen. Stell dir vor, deine DB hat 80333 Einträge und du suchst alles zum Eintrag 60338, so muss die DB nicht von Anfang an alle Einträge durchsuchen, sondern sucht den passenden Index zu diesem Eintrag. Verstanden?
Ich bin mir sicher, dazu findest du auch was bei google.
hmm ... aber Index darf aber auch mehrfach den gleichen Wert haben...
ist das in etwa wie GROUP BY ? alle Beiträge werden nach einem bestimmten Wert sortiert und Gruppiert, und diese so entstandenen Gruppen kann man getrennt sortieren?
Verfasst: 13.03.2005 21:25
von shwepsi
Ein INDEX ist meistens eine Spalte, nach der besonders häufig gesucht wird. Die Einträge in der Spalte werden als HASH Index gespeichert. Damit beschleunigt sich die Suche erheblich. Insbesondere bei Verknüpfungen von Tabellen wird MySQL dadurch erheblich schneller.
ok, damit hat sich das auch geklärt