Der nicht gruppierte Index in MySQL besteht darin, dass die Speicherung des Index und die Speicherung der Daten getrennt sind. Das heißt, wenn der Index gefunden wird, die Daten jedoch nicht, müssen Sie eine Abfrage durchführen Die Tabelle basiert wiederum auf dem Wert des Index, also dem Primärschlüssel. Der Cluster-Index wird auch als Hilfsindex bezeichnet.
Der nicht gruppierte Index in MySQL ist:
Die Speicherung des Index und die Speicherung der Daten sind getrennt. Das heißt, wenn der Index gefunden wird, aber die Daten nicht gefunden werden, müssen Sie die Tabelle erneut basierend auf dem Wert (Primärschlüssel) im Index abfragen. Nicht gruppierte Indizes werden auch als Hilfsindizes bezeichnet.
Ein Beispiel
Nachfolgend erstellen wir eine Schülertabelle und führen drei Abfragen durch, um zu veranschaulichen, wann es sich um einen Clustered-Index handelt und wann nicht.
create table student ( id bigint, no varchar(20) , name varchar(20) , address varchar(20) , PRIMARY KEY (`branch_id`) USING BTREE, UNIQUE KEY `idx_no` (`no`) USING BTREE )ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;
Verwandte Lernempfehlungen: MySQL-Video-Tutorial
Die erste Methode besteht darin, alle Felddaten basierend auf dem Primärschlüssel direkt abzufragen und abzurufen. Zu diesem Zeitpunkt ist der Primärschlüssel der Aggregationsclusterindex, da der dem Primärschlüssel entsprechende Indexblattknoten die Werte aller Felder mit der ID = 1 speichert.
select * from student where id = 1
Die zweite Methode besteht darin, die Nummer und den Namen basierend auf der Nummer abzufragen. Die Nummer selbst ist ein eindeutiger Index, aber die abgefragte Spalte enthält die Studentennummer und den Namen des Studenten Wenn der Nummernindex erreicht wird, werden die Daten des indizierten Knotens in der Primärschlüssel-ID gespeichert und müssen erneut basierend auf der Primärschlüssel-ID abgefragt werden. In dieser Abfrage handelt es sich also nicht um einen Clustered-Index
select no,name from student where no = 'test'
Bei der dritten Methode führen wir eine Abfrage anhand der Nummer durch (jemand fragt Sie möglicherweise, ob Sie die Nummer kennen, aber dennoch eine Abfrage durchführen müssen? Ja, Sie müssen möglicherweise überprüfen, ob die Nummer in der Datenbank vorhanden ist). Wenn diese Art von Abfrage auf den Zahlenindex trifft, wird die Zahl direkt zurückgegeben, da die erforderlichen Daten der Index sind, keine Notwendigkeit Tabellenabfrage zurückgeben, in diesem Szenario nein ist der Clustered-Index
select no from student where no = 'test'
Zusammenfassung:
Der Primärschlüssel muss der Clustered-Index sein. MySQL的InnoDB
Es muss ein Primärschlüssel darin vorhanden sein. Auch wenn der Entwickler ihn nicht manuell festlegt, wird dies ein eindeutiger Index sein Wenn kein eindeutiger Index vorhanden ist, wird die ID einer Zeile in der Datenbank als Primärschlüsselindex verwendet. Bei SQL-Abfragen wird die Spalte selbst aufgerufen In diesem Szenario wird ein gewöhnlicher Index auch als Clustered-Index bezeichnet. Die MyisAM-Engine verfügt nicht über einen Clustered-Index.
Das obige ist der detaillierte Inhalt vonWas ist ein nicht gruppierter Index in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!