Heim >Datenbank >MySQL-Tutorial >Was sind die gängigen Speicher-Engines in MySQL?
Gemeinsame Speicher-Engines in MySQL sind: 1. InnoDB-Speicher-Engine; 2. MyISAM-Speicher-Engine; 3. MEMORY-Speicher-Engine; MySQL 5.5 und höher verwendet standardmäßig die InnoDB-Speicher-Engine, die über Funktionen wie Hot-Backup, Fremdschlüsselzuordnungen, Sperren auf Zeilenebene und Transaktionen verfügt.
Übliche Speicher-Engines in MySQL sind:
(empfohlenes Tutorial: MySQL-Tutorial)
1. InnoDB-Engine (standardmäßig nach MySQL 5.5 verwendet)
Die Standard-Speicher-Engine in MySQL 5.5 und späteren Versionen:
Gute Notfallwiederherstellung
Transaktionen unterstützen
Sperren auf Zeilenebene verwenden
Unterstützung Fremdschlüsselzuordnung
Unterstützt Hot Backup
Für Tabellen in der InnoDB-Engine ist die physische Organisationsform der Daten eine Clustertabelle (Cluster Tabelle), der Primärschlüsselindex und die Daten sind zusammen, und die Daten werden physisch in der Reihenfolge des Primärschlüssels verteilt, um die Pufferverwaltung zu implementieren. Es kann nicht nur den Index, sondern auch die Daten puffern und automatisch einen Hash-Index erstellen Beschleunigen Sie die Datenerfassung
2. Die MyISAM-Engine
verfügt über die folgenden Funktionen:
Tut Unterstützt keine Transaktionen
Verwenden Sie Sperren auf Tabellenebene, schlechte Parallelität
Nachdem der Host ausgefallen ist, kann die MyISAM-Tabelle leicht beschädigt werden und es kommt zur Katastrophe Die Wiederherstellung ist schlecht
Kann mit Sperren zusammenarbeiten, Kopiersicherung und Migration unter dem Betriebssystem realisieren
Nur den Index und die Daten zwischenspeichern wird durch Nutzung des Betriebssystempuffers realisiert. Kann übermäßige Systemaufrufe verursachen und ineffizient sein
Daten werden kompakt gespeichert, was zu kleineren Indizes und einer schnelleren Leistung beim vollständigen Tabellenscan führt
3. MEMORY-Speicher-Engine
Eigenschaften:
Stellt eine Speichertabelle bereit, unterstützt keine Transaktionen und Fremdschlüssel
Verwenden Sie Sperren auf Tabellenebene, obwohl der Speicherzugriff schnell ist, werden Sperren auf Tabellenebene zu einem Engpass, wenn häufig Lese- und Schreibvorgänge auftreten.
Unterstützt nur Zeilen mit fester Größe. Felder vom Typ Varchar werden als Char-Typen fester Länge gespeichert, was Platz verschwendet.
TEXT- und BLOB-Felder werden nicht unterstützt. Wenn einige Abfragen die Verwendung temporärer Tabellen erfordern (die auch die MEMORY-Speicher-Engine verwenden), werden TEXT- und BLOB-Felder in der Tabelle in festplattenbasierte MyISAM-Tabellen konvertiert, was die Leistung erheblich verringert
Aufgrund der hohen Kosten für Speicherressourcen wird im Allgemeinen nicht empfohlen, eine zu große Speichertabelle einzurichten. Wenn die Speichertabelle voll ist, können Sie Fehler vermeiden, indem Sie Daten löschen oder Speichertabellenparameter anpassen
Starten Sie den Server neu. Die Daten gehen später verloren, daher müssen Sie beim Kopieren und Verwalten vorsichtig sein
Das obige ist der detaillierte Inhalt vonWas sind die gängigen Speicher-Engines in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!