Eine kurze Erläuterung der vier häufig verwendeten Speicher-Engines in MySQL

Eine kurze Erläuterung der vier häufig verwendeten Speicher-Engines in MySQL

Einführung in vier häufig verwendete MySQL-Engines

(1): MyISAM-Speicher-Engine:

Es unterstützt keine Transaktionen oder Fremdschlüssel. Sein Vorteil ist die schnelle Zugriffsgeschwindigkeit. Anwendungen, die keine Transaktionsintegrität erfordern oder hauptsächlich auf Auswählen und Einfügen basieren, können diese Engine grundsätzlich zum Erstellen von Tabellen verwenden.

Unterstützt 3 verschiedene Speicherformate: statische Tabelle; dynamische Tabelle; komprimierte Tabelle

Statische Tabelle: Die Felder in der Tabelle sind alle Felder mit nicht variabler Länge, sodass jeder Datensatz eine feste Länge hat. Die Vorteile sind eine sehr schnelle Speicherung, einfache Zwischenspeicherung und einfache Wiederherstellung im Fehlerfall. Der Nachteil ist, dass es normalerweise mehr Platz beansprucht als eine dynamische Tabelle (da die Leerzeichen beim Speichern gemäß der Spaltenbreitendefinition gefüllt werden). PS: Beim Abrufen von Daten werden die Leerzeichen nach den Feldern standardmäßig entfernt. Wenn Sie nicht aufpassen, werden auch die Leerzeichen in den Daten selbst ignoriert.

Dynamische Tabelle: Die Datensatzlänge ist nicht festgelegt. Der Vorteil dieser Speicherung ist, dass sie relativ wenig Platz beansprucht. Nachteil: Häufiges Aktualisieren und Löschen von Daten kann leicht zu Fragmentierung führen. Um die Leistung zu verbessern, müssen Sie regelmäßig den Befehl OPTIMIZE TABLE oder myisamchk -r ausführen.

Komprimierte Tabellen: Da jeder Datensatz einzeln komprimiert wird, entsteht nur ein sehr geringer Zugriffsaufwand.

(2) InnoDB-Speicher-Engine*

Die Speicher-Engine bietet Transaktionssicherheit mit Commit-, Rollback- und Crash-Recovery-Funktionen. Im Vergleich zur MyISAM-Engine ist die Effizienz der Schreibverarbeitung jedoch geringer und zum Speichern von Daten und Indizes wird mehr Speicherplatz benötigt.
Funktionen der InnoDB-Speicher-Engine: Unterstützung für automatische Wachstumsspalten und Fremdschlüsseleinschränkungen

(3): MEMORY-Speichermodul

Die Memory-Speicher-Engine erstellt Tabellen mithilfe von im Speicher vorhandenen Inhalten. Jede Speichertabelle entspricht tatsächlich nur einer Festplattendatei und das Format ist .frm. Auf Tabellen vom Speichertyp kann sehr schnell zugegriffen werden, da ihre Daten im Speicher abgelegt sind und standardmäßig ein HASH-Index verwendet wird. Sobald der Dienst jedoch beendet wird, gehen die Daten in der Tabelle verloren.
Tabellen mit der Speicher-Engine MEMORY können wahlweise BTREE- oder HASH-Indizes verwenden. Die beiden unterschiedlichen Indextypen haben unterschiedliche Verwendungsbereiche.

Vorteile des Hash-Index:
Aufgrund der speziellen Struktur des Hash-Index ist seine Abrufeffizienz sehr hoch. Der Indexabruf kann einmal lokalisiert werden, im Gegensatz zum B-Tree-Index, der mehrere IO-Zugriffe vom Stammknoten zum Zweigknoten und schließlich zum Seitenknoten benötigt. Daher ist die Abfrageeffizienz des Hash-Index viel höher als die des B-Tree-Index.
Nachteile des Hash-Index: Was ist mit der ungenauen Suche? Auch das ist offensichtlich. Da der Hash-Algorithmus auf der Berechnung gleicher Werte basiert, ist der Hash-Index ungültig und unterstützt keine Bereichssuche wie „like“;

Die Speicher-Engine vom Typ „Memory“ wird hauptsächlich für Codetabellen verwendet, deren Inhalt sich nicht häufig ändert, oder als Zwischenergebnistabellen für statistische Operationen, um die Zwischenergebnisse effizient zu analysieren und die endgültigen statistischen Ergebnisse zu erhalten. Seien Sie vorsichtig beim Aktualisieren von Tabellen, deren Speicher-Engine der Speicher ist, da die Daten nicht tatsächlich auf die Festplatte geschrieben werden. Sie müssen daher überlegen, wie Sie die geänderten Daten nach dem nächsten Neustart des Dienstes abrufen.

(4) MERGE-Speicher-Engine

Die Merge-Speicher-Engine ist eine Kombination aus einer Gruppe von MyISAM-Tabellen. Diese MyISAM-Tabellen müssen genau dieselbe Struktur haben. Die Merge-Tabelle selbst enthält keine Daten. Die Merge-Tabelle kann abgefragt, aktualisiert und gelöscht werden. Diese Vorgänge werden tatsächlich an der internen MyISAM-Tabelle ausgeführt.

Oben finden Sie eine ausführliche Erklärung und Integration der vier häufig verwendeten Speicher-Engines in MySQL, die vom Herausgeber vorgestellt wurden. Ich hoffe, dass sie für alle hilfreich sein werden. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Herausgeber wird Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken!

Das könnte Sie auch interessieren:
  • Zusammenfassung der Unterschiede zwischen den MySQL-Speicher-Engines MyISAM und InnoDB
  • Detaillierte Erklärung der Speicher-Engine in MySQL
  • Detaillierte Erläuterung der Funktionen und Verwendung allgemeiner MySQL-Speicher-Engines
  • Erläuterung des Beispiels einer MySQL-Datenanalyse-Speicher-Engine

<<:  Linux: Kein Speicherplatz mehr auf Gerät 500 – Fehler aufgrund voller Inodes

>>:  Bringen Sie Ihnen bei, wie Sie eine Reaktion aus HTML implementieren

Artikel empfehlen

Detaillierte Schritte zur schnellen Installation von Openshift

Der schnellste Weg, die neueste Version von OpenS...

Einführung in die Verwendung von Alt- und Titelattributen von HTML-Img-Tags

Wenn Browser-Anbieter die Standards umgehen und ei...

Detailliertes Tutorial zur Verwendung des Befehls xargs unter Linux

Hallo zusammen, ich bin Liang Xu. Sind Sie bei de...

Detaillierte Erklärung zum CSS-Randkollaps

Vorherige Das ist eine klassische alte Frage. Da ...

MySQL-Abfrage-Cache und Pufferpool

1. Caches - Abfrage-Cache Die folgende Abbildung ...

So verwenden Sie Makros in JavaScript

In Sprachen werden häufig Makros zur Implementier...

Das WeChat-Applet ermöglicht horizontales und vertikales Scrollen

In diesem Artikelbeispiel wird der spezifische Co...

Beispiel für die Implementierung des Skelettbildschirms des WeChat-Applets

Inhaltsverzeichnis Was ist ein Skelettbildschirm?...

Docker erstellt Python Flask+ Nginx+Uwsgi-Container

Installieren Sie Nginx Ziehen Sie zuerst das Cent...

Tutorial zur Installation von MySQL 5.7.18 mit einem RPM-Paket

System: CentOS 7 RPM-Pakete: mysql-community-clie...