Heim  >  Artikel  >  Datenbank  >  Was ist die Standard-Engine von MySQL?

Was ist die Standard-Engine von MySQL?

青灯夜游
青灯夜游Original
2022-06-14 17:15:169299Durchsuche

Vor MySQL5.5 war die Standard-Engine „MyISAM“. Ab MySQL5.5 ist die Standard-Engine „InnoDB“ und unterstützt vollständig ACID-Konformität und -Transaktionen sowie Fremdschlüssel-, Commit-, Rollback- und Rollforward-Vorgänge . Tabellengrößen können bis zu 64 TB betragen. In MySQL können Sie den Befehl „SHOW ENGINES;“ verwenden, um die vom System unterstützten Engine-Typen und Standard-Engines in den Ausgabeergebnissen anzuzeigen. Die durch das Schlüsselwort DEFAULT identifizierte Engine ist die aktuelle Standard-Speicher-Engine.

Was ist die Standard-Engine von MySQL?

Die Betriebsumgebung dieses Tutorials: Windows7-System, MySQL8-Version, Dell G3-Computer.

Die Datenbankspeicher-Engine ist die zugrunde liegende Softwarekomponente der Datenbank. Das Datenbankverwaltungssystem verwendet die Daten-Engine zum Erstellen, Abfragen, Aktualisieren und Löschen von Datenvorgängen. Kurz gesagt, die Speicher-Engine bezieht sich auf den Tabellentyp.

Die Speicher-Engine der Datenbank bestimmt, wie die Tabelle im Computer gespeichert wird. Verschiedene Speicher-Engines bieten unterschiedliche Speichermechanismen, Indizierungstechniken, Sperrebenen und andere Funktionen. Durch die Verwendung verschiedener Speicher-Engines können Sie auch bestimmte Funktionen erhalten.

MySQL bietet verschiedene Speicher-Engines für seine Tabellen, wie InnoDB, MyISAM, Memory, Merge, Archive, CSV, BLACKHOLE usw.

Vor MySQL 5.5 war MyISAM die Standardspeicher-Engine, wenn Sie eine Tabelle erstellten, ohne explizit eine Speicher-Engine anzugeben. Ab Version 5.5 verwendet MySQL InnoDB als Standardspeicher-Engine.

Mit der SHOW ENGINES;-Anweisung können Sie den vom System unterstützten Motortyp anzeigen. Das Ergebnis ist wie in der Abbildung dargestellt.

Was ist die Standard-Engine von MySQL?

Der Wert der Spalte „Unterstützung“ gibt an, ob eine bestimmte Engine verwendet werden kann. JA bedeutet, dass sie verwendet werden kann, NEIN bedeutet, dass sie nicht verwendet werden kann, und STANDARD bedeutet, dass die Engine die aktuelle Standardspeicher-Engine ist.

Wie Sie sehen können, ist die aktuelle Standardspeicher-Engine InnoDB.

MyISAM-Engine

MyISAM erweitert die bisherige ISAM-Speicher-Engine. MyISAM-Tabellen sind hinsichtlich Komprimierung und Geschwindigkeit optimiert. MyISAM-Tabellen sind auch zwischen Plattformen und Betriebssystemen portierbar.

Die Tabellengröße von MyISAM kann 256 TB erreichen, was riesig ist. Darüber hinaus können MyISAM-Tabellen in schreibgeschützte Tabellen komprimiert werden, um Platz zu sparen. Beim Start überprüft MySQL MyISAM-Tabellen auf Beschädigungen und repariert sie sogar, wenn Fehler auftreten. MyISAM-Tabellen sind nicht transaktionssicher.

InnoDB Engine

InnoDB-Tabellen unterstützen die ACID-Konformität und -Transaktionen vollständig. Auch hinsichtlich der Leistung sind sie die beste Wahl. InnoDB-Tabellen unterstützen Fremdschlüssel-, Festschreibungs-, Rollback- und Rollforward-Vorgänge. InnoDB-Tabellen können bis zu 64 TB groß sein.

Wie MyISAM sind InnoDB-Tabellen auf verschiedene Plattformen und Betriebssysteme portierbar. Bei Bedarf überprüft und repariert MySQL auch InnoDB-Tabellen beim Start.

MERGE Engine

Eine MERGE-Tabelle ist eine virtuelle Tabelle, die mehrere MyISAM-Tabellen zusammenfasst, die eine ähnliche Struktur wie eine Tabelle haben. Die MERGE-Speicher-Engine wird auch als MRG_MyISAM-Engine bezeichnet. Die MERGE-Tabelle verfügt über keinen eigenen Index; sie verwendet den Index der Komponententabelle.

Verwenden Sie MERGE-Tabellen, um die Leistung beim Zusammenführen mehrerer Tabellen zu beschleunigen. Mit MySQL können Sie nur SELECT-, DELETE-, UPDATE- und INSERT-Operationen für MERGE-Tabellen ausführen. Wenn DROP TABLE die MERGE-Anweisung für die MERGE-Tabelle verwendet, wird nur die Spezifikation gelöscht. Die zugrunde liegenden Tabellen sind nicht betroffen.

Memory Engine

Speichertabellen werden im Speicher gespeichert und verwenden Hash-Indizes, sodass sie schneller als MyISAM-Tabellen sind. Der Lebenszyklus von In-Memory-Tabellendaten hängt von der Betriebszeit des Datenbankservers ab. Die In-Memory-Speicher-Engine war früher als HEAP bekannt.

Archive Engine

Mit der Archive Storage Engine können Sie große Mengen an Datensätzen (zur Archivierung) in einem komprimierten Format speichern, um Speicherplatz zu sparen. Die Archivspeicher-Engine komprimiert Datensätze beim Einfügen und verwendet die zlib-Bibliothek, um sie beim Lesen zu dekomprimieren.

Archivtabellen erlauben nur INSERT- und SELECT-Anweisungen. ARCHIVE-Tabellen unterstützen keine Indizes, daher ist ein vollständiger Tabellenscan erforderlich, um Zeilen aus der Tabelle zu lesen.

CSV

Die CSV-Speicher-Engine speichert Daten im CSV-Dateiformat (Comma Separated Values). CSV-Tabellen bieten eine bequeme Möglichkeit, Daten in Nicht-SQL-Anwendungen wie Tabellenkalkulationssoftware zu migrieren.

CSV-Tabelle unterstützt den NULL-Datentyp nicht. Darüber hinaus erfordern Lesevorgänge einen vollständigen Tabellenscan.

FEDERATED

Mit der FEDERATED-Speicher-Engine können Sie Daten von Remote-MySQL-Servern verwalten, ohne Clustering- oder Replikationstechnologie zu verwenden. Lokale Verbundtabellen speichern keine Daten. Beim Abfragen von Daten aus einer lokalen Verbundtabelle werden die Daten automatisch aus der Remote-Verbundtabelle extrahiert.

【Verwandte Empfehlung: MySQL-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWas ist die Standard-Engine von 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