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:
|
<<: Beispiel für die Implementierung eines Login-Effekts mit Vue-ElementUIs aus einem Formular
>>: Detaillierte Erklärung des Prinzips zum Erstellen von Tomcat in Eclipse
1. Ergebnisse erzielen 2. Vom Backend zurückgegeb...
Inhaltsverzeichnis 1: Handschriftliche Seitennumm...
Vorwort Die Standarddatenbankdatei der MySQL-Date...
Festlegen der Eigenschaften für Mindest- und Maxi...
In diesem Artikel wird der spezifische JavaScript...
1. Einleitung MySQL Group Replication (kurz MGR) ...
Inhaltsverzeichnis 1. Was ist copy_{to,from}_user...
1. Übersicht In diesem Artikel wird das DOCTYPE-E...
Das W3C, eine 1994 gegründete Organisation, zielt...
1. Befehlseinführung Der Befehl stat wird verwend...
Definition und Verwendung Die Anzeigeeigenschaft ...
Jiedaibao ist eine Softwareplattform für Handykre...
Der Grund ist dieser Ich wollte eine Mocker-Platt...
Inhaltsverzeichnis Was ist MVCC Mysql-Sperre und ...
Was ist eine Webseite? Die Seite, die nach dem HT...