Heim >Datenbank >MySQL-Tutorial >Was sind die gängigen Speicher-Engines in MySQL?

Was sind die gängigen Speicher-Engines in MySQL?

王林
王林Original
2020-06-24 15:17:234061Durchsuche

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.

Was sind die gängigen Speicher-Engines in MySQL?

Ü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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Was bedeutet Verbindungspool?Nächster Artikel:Was bedeutet Verbindungspool?