MySQL, welches zwischen Innodb und Myisam zu wählen ist

Inhaltsverzeichnis

Die Speicher-Engine ist für das Speichern, Handhaben 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 Auswahl soll das beste Qualitätsverhältnis gemäß unserer Anwendung erreichen. Wenn wir Transaktionen, Fremdschlüssel und Schlösser benötigen, müssen wir uns für InnoDB entscheiden. Im Gegenteil, wir werden MyISAM in den Fällen wählen, in denen SELECT-Abfragen an die Datenbank überwiegen.
InnoDB bietet MySQL eine Transaktionsspeicher-Engine (ACID-kompatibel) mit Commit-, Rollback- und Crash-Recovery-Funktionen. InnoDB führt Sperren auf Zeilenebene durch und bietet auch nicht sperrende konsistente Lesefunktionen im Oracle-Stil für SELECT-Anweisungen. Diese Funktionen erhöhen die Leistung und die Möglichkeit, mehrere gleichzeitige Benutzer zu verwalten. Eine skalierte Sperre ist in InnoDB nicht erforderlich, da Sperren auf Zeilenebene sehr wenig Platz beanspruchen. InnoDB unterstützt auch FOREIGN KEY-Einschränkungen. In SQL-Abfragen können sogar innerhalb derselben Abfrage Tabellen vom Typ InnoDB frei in Tabellen anderer Typen eingebunden werden.
MyISAM ist die Standard-Engine. Um eine InnoDB-Tabelle zu erstellen, muss die Option ENGINE = InnoDB oder TYPE = InnoDB in der SQL-Anweisung zur Tabellenerstellung angegeben werden:
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
Sperren von Datensätzen
Es ermöglicht uns, die ACID-Eigenschaften (Atomity, Consistency, Isolation and Durability: Atomicity, Consistency, Isolation and Durability auf Spanisch) zu haben, die die Integrität unserer Boards garantieren.
Es ist wahrscheinlich, dass wir eine Leistungssteigerung im Vergleich zu MyISAM feststellen werden, wenn unsere Anwendung INSERT und UPDATE stark nutzt.
Vorteile der Verwendung von MyISAM
Insgesamt schnellere Datenwiederherstellung.
Empfohlen für Anwendungen, die die SELECT-Anweisungen vor INSERT / UPDATE dominieren.
Das Fehlen von Atomaritätsmerkmalen, da keine referenziellen Integritätsprüfungen durchgeführt oder die Tabellen gesperrt werden müssen, um die Operationen auszuführen, führt uns, wie in den vorherigen Punkten, zu einer höheren Geschwindigkeit.
Die Speicher-Engine (Storage-Engine) ist für das Speichern, Handhaben und Abrufen von Informationen aus einer Tabelle verantwortlich. Die bekanntesten Engines sind MyISAM und InnoDB. Die Wahl des einen oder anderen hängt stark vom Anwendungsszenario ab, aber arsys.es möchte uns helfen, diese bekannten Speicher-Engines besser zu verstehen.
Die Auswahl soll das beste Qualitätsverhältnis gemäß unserer Anwendung erreichen. Wenn wir Transaktionen, Fremdschlüssel und Schlösser benötigen, müssen wir uns für InnoDB entscheiden. Im Gegenteil, wir werden MyISAM in den Fällen wählen, in denen SELECT-Abfragen an die Datenbank überwiegen.
InnoDB bietet MySQL eine Transaktionsspeicher-Engine (ACID-kompatibel) mit Commit-, Rollback- und Crash-Recovery-Funktionen. InnoDB führt Sperren auf Zeilenebene durch und bietet auch nicht sperrende konsistente Lesefunktionen im Oracle-Stil für SELECT-Anweisungen. Diese Funktionen erhöhen die Leistung und die Möglichkeit, mehrere gleichzeitige Benutzer zu verwalten. Eine skalierte Sperre ist in InnoDB nicht erforderlich, da Sperren auf Zeilenebene sehr wenig Platz beanspruchen. InnoDB unterstützt auch FOREIGN KEY-Einschränkungen. In SQL-Abfragen können sogar innerhalb derselben Abfrage Tabellen vom Typ InnoDB frei in Tabellen anderer Typen eingebunden werden.
MyISAM ist die Standard-Engine. Um eine InnoDB-Tabelle zu erstellen, muss die Option ENGINE = InnoDB oder TYPE = InnoDB in der SQL-Anweisung zur Tabellenerstellung angegeben werden:
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
Unterstützung von Transaktionen, Stored Procedures, Trigger
Sperren von Datensätzen
Es ermöglicht uns, die ACID-Eigenschaften (Atomity, Consistency, Isolation and Durability: Atomicity, Consistency, Isolation and Durability auf Spanisch) zu haben, die die Integrität unserer Boards garantieren.
Es ist wahrscheinlich, dass wir eine Leistungssteigerung im Vergleich zu MyISAM feststellen werden, wenn unsere Anwendung INSERT und UPDATE stark nutzt.
Vorteile der Verwendung von MyISAM
Insgesamt schnellere Datenwiederherstellung.
Empfohlen für Anwendungen, die die SELECT-Anweisungen vor INSERT / UPDATE dominieren.
Das Fehlen von Atomizitätsmerkmalen, da keine referenziellen Integritätsprüfungen durchgeführt oder die Tabellen gesperrt werden müssen, um die Operationen auszuführen, führt uns, wie in den vorherigen Punkten, zu einer höheren Geschwindigkeit.
Wird Ihre Tabelle INSERT, UPDATE und DELETE viel länger empfangen als abgefragt wird?
Bevorzugen oder benötigen Sie ein relationales Datenbankdesign?
Es ist bequem, InnoDB zu verwenden
Müssen Sie eine Volltextsuche durchführen?
Ist Speicherplatz oder Arbeitsspeicher ein Problem?

Ihre Engine muss MyISAM seinHat dir dieses Tutorial gefallen und geholfen?Sie können den Autor belohnen, indem Sie diesen Knopf drücken, um ihm einen positiven Punkt zu geben

Sie werden die Entwicklung der Website helfen, die Seite mit Ihren Freunden teilen

wave wave wave wave wave