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
In diesem Artikel wird der spezifische Code des W...
In diesem Artikelbeispiel wird der spezifische Co...
1. Einleitung Vor ein paar Tagen bin ich bei der ...
Tutorial-Reihe MySQL-Reihe: Grundlegende Konzepte...
Inhaltsverzeichnis 1. Workflow ausführen 2. Grund...
1.fullpage.js Download-Adresse https://github.com...
In diesem Artikelbeispiel wird der spezifische Co...
Inhaltsverzeichnis Vorwort 1. SCP-Nutzung 2. Verw...
Der Effekt zeigt, dass sich zwei Browser gegensei...
Dieser Artikel veranschaulicht anhand von Beispie...
veranschaulichen MySql Community Edition unterstü...
W3Cschool erklärt es so Das <meta>-Element l...
Inhaltsverzeichnis Vorwort Ideenstartgeschwindigk...
Einige Befehlsunterschiede zwischen den Versionen...
glibc ist die von GNU veröffentlichte libc-Biblio...