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
Die übergeordnete Vue-Komponente ruft die Funktio...
Umgebungseinführung Betriebssystem: Centos 7.4 Za...
Entsprechend den wichtigsten Websites und persönl...
1. Grundlegender Spring-Boot-Schnellstart 1.1 Sch...
Die Standard-MySQL-Version unter dem Alibaba Clou...
Einfache Verwendung des Vue-Busses Beschreibung d...
Als häufig verwendete Datenbank erfordert MySQL v...
Wenn Sie einen Befehl im Terminal ausführen, müss...
Werfen wir einen Blick auf das dynamische Spleiße...
Genau wie bei Code können Sie den Tabellen und Sp...
Installation von Python 3 1. Abhängige Umgebung i...
Zwei kleine Probleme, die mich aber lange Zeit ges...
Inhaltsverzeichnis Vorwort Frühere Iterationen It...
<br />Vorheriges Webdesign-Tutorial: Webdesi...
Inhaltsverzeichnis Die Beziehung zwischen der Kon...