Heim  >  Artikel  >  Datenbank  >  Was ist die MySQL-Speicher-Engine? (ausführliche Erklärung)

Was ist die MySQL-Speicher-Engine? (ausführliche Erklärung)

藏色散人
藏色散人Original
2018-09-10 17:00:122028Durchsuche

Dieser Artikel stellt Ihnen hauptsächlich vor, was die MySQL-Speicher-Engine ist. Sie können sich zum Lernen auch auf das MySQL-Video-Tutorial oder das MySQL-Handbuch beziehen.

MySQL verfügt über eine Vielzahl von Speicher-Engines. Jede Speicher-Engine hat ihre eigenen Vor- und Nachteile. Sie können die beste auswählen: MyISAM, InnoDB, MERGE, MEMORY (HEAP), BDB (BerkeleyDB), EXAMPLE , VERBUNDEN, ARCHIV, CSV, BLACKHOLE.

MySQL unterstützt mehrere Speicher-Engines als Prozessoren für verschiedene Tabellentypen. Die MySQL-Speicher-Engine umfasst eine Engine zur Verarbeitung transaktionssicherer Tabellen und eine Engine zur Verarbeitung nicht transaktionssicherer Tabellen:

MyISAM verwaltet nicht transaktionssichere Tabellen. Es bietet Hochgeschwindigkeitsspeicherung und -abruf sowie Volltextsuchfunktionen. MyISAM wird in allen MySQL-Konfigurationen unterstützt und ist die Standardspeicher-Engine, es sei denn, Sie konfigurieren MySQL so, dass standardmäßig eine andere Engine verwendet wird.

Die MEMORY-Speicher-Engine stellt „In-Memory“-Tabellen bereit. Die MERGE-Speicher-Engine ermöglicht die Verarbeitung von Sammlungen in derselben MyISAM-Tabelle wie in einer einzelnen Tabelle. Genau wie MyISAM verarbeiten die Speicher-Engines MEMORY und MERGE nicht-transaktionale Tabellen, und beide Engines sind standardmäßig in MySQL enthalten.

Hinweis: Die MEMORY-Speicher-Engine wird offiziell als HEAP-Engine identifiziert.

InnoDB- und BDB-Speicher-Engines bieten transaktionssichere Tabellen. BDB ist in MySQL-Max-Binärdistributionen enthalten, die für Betriebssysteme veröffentlicht werden, die es unterstützen. InnoDB ist außerdem standardmäßig in allen MySQL 5.1-Binärdistributionen enthalten, und Sie können MySQL so konfigurieren, dass eine der beiden Engines je nach Wunsch zugelassen oder deaktiviert wird.
Die EXAMPLE-Speicher-Engine ist eine „Stub“-Engine, sie macht nichts. Sie können mit dieser Engine Tabellen erstellen, es werden jedoch keine Daten darin gespeichert oder daraus abgerufen. Der Zweck dieser Engine besteht darin, als Beispiel im MySQL-Quellcode zu dienen, der zeigt, wie mit dem Schreiben einer neuen Speicher-Engine begonnen wird. Auch hier gilt das Hauptinteresse den Entwicklern.

NDB Cluster ist die Speicher-Engine, die MySQL Cluster verwendet, um Tabellen zu implementieren, die auf mehrere Computer aufgeteilt sind. Es ist in der Binärdistribution MySQL-Max 5.1 enthalten. Diese Speicher-Engine wird derzeit nur von Linux, Solaris und Mac OS X unterstützt. In einer zukünftigen MySQL-Distribution würden wir gerne Unterstützung für diese Engine auf anderen Plattformen, einschließlich Windows, hinzufügen.

Die ARCHIVE-Speicher-Engine wird verwendet, um große Mengen gespeicherter Daten ohne Indizierung sehr leicht abzudecken.

Die CSV-Speicher-Engine speichert Daten in Textdateien im durch Kommas getrennten Format.

Die BLACKHOLE-Speicher-Engine akzeptiert Daten, speichert sie jedoch nicht, und beim Abrufen wird immer ein leerer Satz zurückgegeben.

FEDERATED Storage Engine speichert Daten in entfernten Datenbanken. In MySQL 5.1 funktioniert es nur mit MySQL unter Verwendung der MySQL C-Client-API. In einer zukünftigen Distribution möchten wir, dass es über andere Treiber oder Client-Verbindungsmethoden eine Verbindung zu weiteren Datenquellen herstellt.

Wenn Sie eine neue Tabelle erstellen, können Sie MySQL mitteilen, welche Art von Tabelle Sie erstellen möchten, indem Sie der CREATE TABLE-Anweisung eine ENGINE- oder TYPE-Option hinzufügen:

 CREATE TABLE t (i INT) ENGINE = INNODB;
    CREATE TABLE t (i INT) TYPE = MEMORY;

Während TYPE noch vorhanden ist ENGINE wird in MySQL 5.1 unterstützt und ist jetzt der bevorzugte Begriff.

Dieser Artikel ist eine Einführung in die MySQL-Speicher-Engine. Ich hoffe, er wird Freunden in Not hilfreich sein!

Das obige ist der detaillierte Inhalt vonWas ist die MySQL-Speicher-Engine? (ausführliche Erklärung). 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