MySQL, um zwischen Innodb und Myisam zu wählen

innodb-vs-myisam.jpg

Die Speicher-Engine ist für das Speichern, Verwalten und Abrufen von Informationen aus einer Tabelle verantwortlich. Die bekanntesten Engines sind MyISAM und InnoDB. Die Wahl des einen oder anderen hängt stark von dem Szenario ab, in dem es angewendet wird.

Die Wahl ist, die beste Qualitätsbeziehung entsprechend unserer Anwendung zu erzielen. Wenn wir Transaktionen, Fremdschlüssel und Sperren benötigen, müssen wir InnoDB wählen. Im Gegenteil, wir wählen MyISAM in den Fällen, in denen die SELECT-Abfragen in der Datenbank vorherrschen.

InnoDB bietet MySQL eine Transaktionsspeicher-Engine (gemäß ACID) mit Commit- (Bestätigungs-), Rollback- (Lösch-) und Fehlerbehebungsfunktionen. InnoDB führt Sperren auf Zeilenebene durch und bietet außerdem konsistente, nicht blockierende Lesefunktionen im Oracle-Stil für SELECT-Anweisungen. Diese Funktionen erhöhen die Leistung und die Fähigkeit, mehrere Benutzer gleichzeitig zu verwalten. Ein skalierter Block in InnoDB ist nicht erforderlich, da das Blockieren auf Zeilenebene nur sehr wenig Platz beansprucht. InnoDB unterstützt auch FOREIGN KEY-Einschränkungen. In SQL-Abfragen können Tabellen des InnoDB-Typs auch innerhalb derselben Abfrage frei in Tabellen anderer Typen eingeschlossen werden.

MyISAM ist die Standard-Engine. Um eine InnoDB-Tabelle zu erstellen, müssen Sie in der SQL-Anweisung die Option ENGINE = InnoDB oder TYPE = InnoDB angeben, um eine Tabelle zu erstellen:

 CREATE TABLE-Kunden (a INT, b CHAR (20), INDEX (a)) ENGINE = InnoDB; CREATE TABLE-Kunden (a INT, b CHAR (20), INDEX (a)) TYPE = InnoDB; 

Vorteile der Verwendung von InnoDB
Transaktionsunterstützung
Datensätze sperren

Es erlaubt uns die Eigenschaften SÄURE (Atomizität, Konsistenz, Isolation und Haltbarkeit: Atomizität, Konsistenz, Isolation und Haltbarkeit auf Spanisch) zu haben, um die Integrität unserer Tabellen zu gewährleisten.
Wenn unsere Anwendung INSERT und UPDATE in hohem Maße verwendet, werden wir wahrscheinlich eine Leistungssteigerung in Bezug auf MyISAM feststellen.

See also  So erstellen Sie eine Excel 2019-Pivot-Tabelle

Vorteile von MyISAM
Generell höhere Geschwindigkeit beim Wiederherstellen von Daten.
Empfohlen für Anwendungen, bei denen SELECT-Anweisungen INSERT / UPDATE dominieren.
Das Fehlen von Atomaritätsmerkmalen, da Sie keine referenziellen Integritätsprüfungen durchführen oder die Tabellen blockieren müssen, um die Operationen auszuführen, bringt uns die vorherigen Punkte mit einer höheren Geschwindigkeit.

Die Speicher-Engine (Storage-Engine) ist für das Speichern, Verwalten und Abrufen von Informationen aus einer Tabelle verantwortlich. Die bekanntesten Engines sind MyISAM und InnoDB. Die Wahl des einen oder anderen hängt stark von dem Szenario ab, in dem es angewendet wird, aber arsys.es möchte uns helfen, diese bekannten Speicher-Engines besser zu kennen.

Die Wahl ist, die beste Qualitätsbeziehung entsprechend unserer Anwendung zu erzielen. Wenn wir Transaktionen, Fremdschlüssel und Sperren benötigen, müssen wir InnoDB wählen. Im Gegenteil, wir wählen MyISAM in den Fällen, in denen die SELECT-Abfragen in der Datenbank vorherrschen.

InnoDB bietet MySQL eine Transaktionsspeicher-Engine (gemäß ACID) mit Commit- (Bestätigungs-), Rollback- (Lösch-) und Fehlerbehebungsfunktionen. InnoDB führt Sperren auf Zeilenebene durch und bietet außerdem konsistente, nicht blockierende Lesefunktionen im Oracle-Stil für SELECT-Anweisungen. Diese Funktionen erhöhen die Leistung und die Fähigkeit, mehrere Benutzer gleichzeitig zu verwalten. Ein skalierter Block in InnoDB ist nicht erforderlich, da das Blockieren auf Zeilenebene nur sehr wenig Platz beansprucht. InnoDB unterstützt auch FOREIGN KEY-Einschränkungen. In SQL-Abfragen können Tabellen des InnoDB-Typs auch innerhalb derselben Abfrage frei in Tabellen anderer Typen eingeschlossen werden.

MyISAM ist die Standard-Engine. Um eine InnoDB-Tabelle zu erstellen, müssen Sie in der SQL-Anweisung die Option ENGINE = InnoDB oder TYPE = InnoDB angeben, um eine Tabelle zu erstellen:

 CREATE TABLE Kunden (a INT, b CHAR (20), INDEX (a)) ENGINE = InnoDB; CREATE TABLE Kunden (a INT, b CHAR (20), INDEX (a)) TYPE = InnoDB; 

Vorteile der Verwendung von InnoDB
Transaktionsunterstützung, gespeicherte Prozeduren, Trigger
Datensätze sperren

See also  Reduzieren Sie die Größe der virtuellen VirtualBox-Maschine und geben Sie Speicherplatz frei

Es erlaubt uns die Eigenschaften SÄURE (Atomizität, Konsistenz, Isolation und Haltbarkeit: Atomizität, Konsistenz, Isolation und Haltbarkeit auf Spanisch) zu haben, um die Integrität unserer Tabellen zu gewährleisten.
Wenn unsere Anwendung INSERT und UPDATE in hohem Maße verwendet, werden wir wahrscheinlich eine Leistungssteigerung in Bezug auf MyISAM feststellen.

Vorteile von MyISAM
Generell höhere Geschwindigkeit beim Wiederherstellen von Daten.
Empfohlen für Anwendungen, bei denen SELECT-Anweisungen INSERT / UPDATE dominieren.
Das Fehlen von Atomaritätsmerkmalen, da Sie keine referenziellen Integritätsprüfungen durchführen oder die Tabellen blockieren müssen, um die Operationen auszuführen, bringt uns die vorherigen Punkte mit einer höheren Geschwindigkeit.

Erhält Ihr Board INSERT, UPDATE und DELETE viel länger als es konsultiert wird?
Bevorzugen oder benötigen Sie relationales Datenbankdesign?
Es ist bequem, InnoDB zu verwenden

Müssen Sie Volltextsuchen durchführen?
Ist der Speicherplatz auf der Festplatte oder im Speicher ein Problem?
Ihr Motor muss MyISAM sein

administrator

Leave a Reply

Your email address will not be published. Required fields are marked *