MySQL Architecture_Storage Engine Einführung

1. Befehle anzeigen

Überprüfen Sie, welche Speicher-Engine mysql bietet: Engines anzeigen;
Bildbeschreibung hier einfügen
Überprüfen Sie die Standard-Speicher-Engine: Variablen wie '%storage_engine%' anzeigen;
Bildbeschreibung hier einfügen

2. Einführung verschiedener Motoren

1. InnoDB-Speicher-Engine

  • Nachdem es größer oder gleich 5.5 ist, wird standardmäßig die InnoDB-Engine verwendet.
  • InnoDB ist die standardmäßige Transaktions-Engine von MySQL, die für die Verarbeitung einer großen Anzahl kurzlebiger Transaktionen ausgelegt ist. Es kann das vollständige Commit (Commit) und Rollback (Rollback) der Transaktion sicherstellen.
  • Zusätzlich zum Hinzufügen und Abfragen sind auch Aktualisierungs- und Löschvorgänge erforderlich, daher sollte die InnoDB-Speicher-Engine bevorzugt werden.
  • Sofern es keinen ganz bestimmten Grund gibt, eine andere Speicher-Engine zu verwenden, sollte die InnoDB-Engine bevorzugt werden.

2. MyISAM-Speicher-Engine

  • MyISAM bietet eine große Anzahl von Funktionen, darunter Volltextindizierung, Komprimierung, räumliche Funktionen (GIS) usw. MyISAM unterstützt jedoch keine Transaktionen und Sperren auf Zeilenebene.Ein unbestrittener Mangel ist, dass es nach einem Absturz nicht sicher wiederhergestellt werden kann .
  • Die Standardspeicher-Engine vor 5.5

3. Archiv-Engine

  • Die Archivdateispeicher-Engine unterstützt nur INSERT- und SELECT-Operationen und unterstützt keine Indizes vor MySQL5.1.
  • Archivtabellen eignen sich für Protokoll- und Datenerfassungsanwendungen (Archive).
  • Laut den Testergebnissen in englischer Sprache ist die Archive-Tabelle etwa 75 % kleiner als die MyISAM-Tabelle und etwa 83 % kleiner als die InnoDB-Tabelle, die die Transaktionsverarbeitung unterstützt.

4. Blackhole-Engine

  • Die Blackhole-Engine implementiert keinen Speichermechanismus, sie verwirft alle eingefügten Daten, ohne etwas zu speichern.
  • Der Server zeichnet jedoch das Protokoll der Blackhole-Tabelle auf, sodass es zum Kopieren von Daten in die Standby-Datenbank oder einfach zum Aufzeichnen im Protokoll verwendet werden kann. Bei dieser Anwendungsmethode treten jedoch viele Probleme auf, weshalb sie nicht empfohlen wird.

5. CSV-Engine

  • Die CSV-Engine kann gewöhnliche CSV-Dateien als MySQL-Tabellen behandeln, unterstützt jedoch keine Indizes.
  • Die CSV-Engine kann als Datenaustauschmechanismus sehr nützlich sein.
  • Die in CSV gespeicherten Daten können direkt im Betriebssystem mit einem Texteditor oder Excel gelesen werden.

6. Speicher-Engine

  • Wenn Sie schnell auf Daten zugreifen müssen und die Daten nicht geändert werden und es keine Rolle spielt, ob sie nach dem Neustart verloren gehen, ist die Verwendung der Speichertabelle sehr nützlich.
  • Speichertabellen sind mindestens eine Größenordnung schneller als MyISAM-Tabellen.

7.Federated-Engine

  • Die Federated-Engine stellt einen Proxy für den Zugriff auf andere MySQL-Server dar. Obwohl diese Engine eine gute serverübergreifende Flexibilität zu bieten scheint, verursacht sie häufig Probleme, weshalb sie standardmäßig deaktiviert ist.

3. Der Unterschied zwischen MyISAM und InnoDB

Bildbeschreibung hier einfügen

4. Welches verwendet Alibaba oder Taobao?

Bildbeschreibung hier einfügen

  • Percona wurde für den MySQL-Datenbankserver verbessert, der gegenüber MySQL eine deutliche Verbesserung in Funktion und Leistung aufweist.
  • Diese Version verbessert die Performance von InnoDB unter hoher Last, stellt einige sehr nützliche Performance-Diagnose-Tools für DBA bereit, außerdem gibt es mehr Parameter und Befehle zur Steuerung des Serververhaltens.
  • Das Unternehmen hat eine neue Speicher-Engine namens Xtradb entwickelt, die Innodb vollständig ersetzen kann und eine bessere Leistung und Parallelität bietet.
  • Die meisten MySQL-Datenbanken von Alibaba verwenden tatsächlich den Percona-Prototypen, um ihn zu modifizieren.
  • AliSql+AliRedisL

5. Interviewfragen

1. Beschreiben Sie kurz den Unterschied zwischen MyISAM und InnoDB in der MySQL-Datenbank

  • Die InnoDB-Speicher-Engine
    ist hauptsächlich für OLTP-Anwendungen (Online Transaction Processing, Online-Transaktionsverarbeitung) gedacht
    Features:
    Zeilensperrdesign, Unterstützung für Fremdschlüssel;

  • Die MyISAM-Speicher-Engine
    ist hauptsächlich für OLAP-Anwendungen (Online Analytical Processing, Online Analytical Processing) gedacht.
    Features:
    Unterstützt keine Transaktionen, unterstützt Tabellen und Volltextindizes. Die Betriebsgeschwindigkeit ist schnell.

Guess you like

Origin blog.csdn.net/qq_46548855/article/details/125812654