Vorwort MySQL unterstützt viele Arten von Tabellen (d. h. Speicher-Engines), wie etwa Myisam, InnoDB, Memory, Archive, Beispiel usw. Jede Speicher-Engine hat ihre eigenen Vor- und Nachteile. Ein umfassendes Verständnis der einzelnen Speicher-Engines hilft Ihnen dabei, sie sinnvoll einzusetzen. Manche Leute glauben, dass die Verwendung mehrerer Speicher-Engines in derselben Datenbank die Leistung erheblich beeinträchtigt. Tatsächlich ist das ein völlig falscher Gedanke. Tatsächlich ist die Verwendung nur einer Speicher-Engine für die Leistung der Anwendung sehr schlecht, es sei denn, es handelt sich um eine sehr einfache Datenbank. Wer sich mit Datenbanken auskennt, wählt die passende Speicher-Engine basierend auf den unterschiedlichen Funktionen der einzelnen Tabellen. Das ist der richtige Ansatz. Wie bereits erwähnt, gibt es viele Speicher-Engines für MySQL, aber es gibt zwei Speicher-Engines, die ich persönlich bei meiner Arbeit am häufigsten verwende: eine ist InnoDB und die andere ist MyISAM. Ich werde hier über diese beiden Speicher-Engines sprechen und die Unterschiede zwischen ihnen vergleichen. 1. MyISAM MyISAM ist jetzt die Standardspeicher-Engine für MySQL. Wenn Sie beim Erstellen einer Tabelle den Tabellentyp nicht angeben, verwendet MySQL standardmäßig MyISAM. MyISAM hat eine Funktion, die viele Leute für sehr wichtig halten, die ich jedoch für nutzlos halte: MyISAM stellt die Unabhängigkeit vom Betriebssystem dar. Einfach ausgedrückt können Sie MyISAM-Tabellen problemlos von Windows nach Linux oder von Linux nach Windows migrieren. Das ist zwar ein Vorteil, aber welcher technische Leiter wäre so dumm, das Betriebssystem des Servers zu ändern, nachdem er sich für eine gewisse Zeit für die Verwendung eines Betriebssystems entschieden hat? Daher denke ich, dass dieser Vorteil keine praktische Bedeutung hat. Die MyISAM-Speicher-Engine ist ein sehr wichtiger Teil der MySQL-Komponente. In MySQL können drei Arten von Tabellen im MyISAM-Format erstellt werden: statisch, dynamisch und komprimiert. Das Format muss nicht separat angegeben werden, MySQL wählt automatisch das am besten geeignete Format basierend auf der Tabellenstruktur aus. 1. MyISAM statisch Wenn die Datentypdefinition jedes Felds in der Tabelle statisch ist (z. B. char), verwendet MySQL automatisch das statische MyISAM-Format. Die Leistung von Tabellen in diesem Format ist sehr hoch, was bedeutet, dass Abfragen und Aktualisierungen sehr wenig Zeit in Anspruch nehmen. Sie müssen sich jedoch darüber im Klaren sein, dass dies auf Kosten des Speicherplatzes geht. Da jeder Spalte der maximale Speicherplatz zugewiesen wird, nimmt die statische Tabelle mehr Speicherplatz ein, auch wenn ein Teil des Speicherplatzes nicht verwendet wird. 2. MyISAM-Dynamik Wenn die Datentypdefinition jedes Felds in der Tabelle dynamisch ist (z. B. varchar), verwendet MySQL automatisch das dynamische MyISAM-Format. Die Leistung dieser Art von Formattabelle wird reduziert, aber ihr Platzbedarf ist viel geringer als bei der statischen. 3. MyISAM-Komprimierung Wenn eine Tabelle nur zum Lesen vorgesehen ist, können Sie MyISAM verwenden, um die Tabelle zu komprimieren. Bei gleicher Konfiguration ist die Leistung am höchsten. 2. InnoDB InnoDB ist eine transaktionale Speicher-Engine, die standardmäßig Transaktionen unterstützt. Daher wird InnoDB als Speicher-Engine in Projekten verwendet, die hohe Anforderungen an die Datenintegrität stellen, wie beispielsweise Bankprojekte. InnoDB führt außerdem eine Zeilensperre ein. Andere Tabellentypen sind alle vollständig gesperrt. Das bedeutet, dass die Datenbank zunächst die gesamte Tabelle sperrt, wenn ein Benutzer bestimmte Informationen in seiner eigenen Zeile in einer Tabelle ändern möchte. Andere Benutzer können dann nicht an dieser Tabelle arbeiten. Dies ist eine vollständige Tabellensperre. Das Sperren auf Zeilenebene ist anders. Es sperrt nur die Zeile, die Sie ändern möchten. Das heißt, andere Personen können weiterhin an der Tabelle arbeiten, aber sie können die Daten in der gesperrten Zeile nicht bearbeiten. Die Vorteile liegen auf der Hand: Es ist schneller und eignet sich besonders für die Verarbeitung mehrerer gleichzeitiger Aktualisierungsanforderungen. InnoDB führt auch Fremdschlüsseleinschränkungen ein. Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. Das könnte Sie auch interessieren:
|
<<: Ubuntu20.04 VNC-Installation und Konfigurationsimplementierung
>>: Lösung für das Problem mit verstümmelten chinesischen MySQL-Zeichen
Inhaltsverzeichnis 1. Installieren Sie Docker auf...
In diesem Artikel wird der spezifische JS-Code zu...
Eine Vektorwelle <svg viewBox="0 0 560 20...
Wirkung: Der Titel hat eine eigene Seriennummer, ...
0x00 Einführung Vor einigen Monaten habe ich eine...
Schnelles Lesen Warum müssen wir SQL-Anweisungen ...
Inhaltsverzeichnis Erster Blick Erstellen einer V...
1. Dokumentenfluss und Floating 1. Was ist Dokume...
Im vorherigen Artikel wurden zwei Methoden zum Üb...
Inhaltsverzeichnis Migrationstools Anwendungstran...
Funktion Currying (schwarzes Fragezeichen)? ? ? C...
<!--[if IE 6]> Nur IE6 kann erkennen <![e...
Syntaxformat: row_number() über (Partition durch ...
So installieren Sie Tomcat-8.5.39 auf CentOS 7.6....
Ich habe zuvor zum Einstieg in UDP ein einfaches ...