1. Clustered-Index Tabellendaten werden in der Reihenfolge des Index gespeichert, d. h. die Reihenfolge der Indexelemente entspricht der physischen Reihenfolge der Datensätze in der Tabelle. Bei einem gruppierten Index speichern die Blattknoten die eigentlichen Datenzeilen und es gibt keine separaten Datenseiten. Sie können höchstens einen gruppierten Index für eine Tabelle erstellen, da es für die tatsächlichen Daten nur eine physische Reihenfolge geben kann. Aus den physischen Dateien ist auch ersichtlich, dass die Datendateien von InnoDB (Clustered Index) nur die Datenstrukturdatei .frm und die Datendatei .idb haben. Die Daten- und Indexinformationen werden zusammen in .idb gespeichert. 2. Nicht gruppierter Index Die Reihenfolge, in der Tabellendaten gespeichert werden, hat nichts mit der Reihenfolge der Indizes zu tun. Bei einem nicht gruppierten Index enthält der Blattknoten den Indexfeldwert und einen logischen Zeiger auf die Datenzeile der Datenseite , und die Anzahl der Zeilen entspricht der Datenmenge in der Datentabelle. Aus der physischen Datei ist auch ersichtlich, dass die MyISAM-Indexdatei (nicht gruppierter Index) .MYI und die Datendatei .MYD separat gespeichert und relativ unabhängig sind. Zusammenfassen: Der Unterschied zwischen einem gruppierten Index und einem nicht gruppierten Index ist: Die Blattknoten des gruppierten Indexes (innoDB) sind Datenknoten; Die Blattknoten nicht gruppierter Indizes (MyISAM) sind zwar immer noch Indexdateien, die Indexdateien enthalten jedoch Zeiger auf die entsprechenden Datenblöcke. Bei einem nicht gruppierten Index müssen jedes Mal, wenn die erforderliche Zeilennummer über den Index abgerufen wird, Daten über die Datenträgeradresse auf dem Blatt von der Festplatte abgerufen werden (die Zeile zurückgegeben werden), was zeitaufwändig ist. Um die Zeit zum Abrufen von Daten zu optimieren, verwendet die InnoDB-Engine einen gruppierten Index. Dadurch wird der Zeitaufwand durch die Rücksendeoperation vermieden. Dadurch ist InnoDB bei manchen Abfragen sogar schneller als MyISAM! PS: Was die Abfragezeit betrifft, wird allgemein angenommen, dass MyISAM Funktionalität zugunsten der Leistung opfert und Abfragen schneller sind. Aber das ist nicht unbedingt der Fall. In den meisten Fällen ist MyISAM tatsächlich schneller als InnoDB. Die Abfragezeit wird jedoch von vielen Faktoren beeinflusst. Der Grund für die Verlangsamung von InnoDB-Abfragen liegt darin, dass es Transaktionen, Rollbacks usw. unterstützt, sodass die Blattseiten von InnoDB tatsächlich die Transaktions-ID (mit anderen Worten die Versionsnummer) und den Rollback-Zeiger enthalten.
Kurz gesagt: Clustered-Indizes sind nicht für häufig aktualisierte Spalten, häufig geänderte indizierte Spalten und eine kleine Anzahl unterschiedlicher Werte geeignet. Oben finden Sie eine ausführliche Erläuterung des MySQL-Clusterindex und des Nicht-Clusterindex. Weitere Informationen zum MySQL-Clusterindex und Nicht-Clusterindex finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM! Das könnte Sie auch interessieren:
|
<<: Detaillierte Erläuterung der Verwendung des DockerHub-Image-Repository
>>: Typescript+React zum Erzielen einfacher Drag-and-Drop-Effekte auf Mobilgeräten und PCs
Was ist ZooKeeper ZooKeeper ist ein Top-Level-Pro...
Bild herunterladen Docker-Pull OpenJDK Erstellen ...
Vorwort Die allgemeinen Methoden sind hier nicht ...
<br />Beim Gestalten von Webseiten stoßen wi...
Inhaltsverzeichnis 1. MySQL herunterladen 1.1 Her...
Xiaobai lernte Vue kennen, dann lernte er Webpack...
Erstens: Aktion ist ein Attribut des Formulars. HT...
Ob das Mapping der Mausposition oder das Implemen...
Das Implementierungsprinzip der Kettenprogrammier...
Inhaltsverzeichnis Vorne geschrieben Vorsichtsmaß...
1. Schwebendes Layout 1. Lassen Sie zuerst das Di...
Welche historische Version kann die aktuelle Tran...
Inhaltsverzeichnis 1. Geltungsbereich 2. Geltungs...
Verwenden Sie CSS3, um coole Radar-Scan-Bilder zu...
<br />Dies ist nicht nur ein Zeitalter der I...