Vorwort In Datenbanken wie Oracle und SQL Server gibt es nur eine Speicher-Engine und alle Datenspeicherverwaltungsmechanismen sind gleich. Die MySQL-Datenbank bietet eine Vielzahl von Speicher-Engines. Benutzer können je nach Anforderungen unterschiedliche Speicher-Engines für Datentabellen auswählen oder je nach Bedarf eigene Speicher-Engines schreiben. Unterschiede zwischen den wichtigsten Speicher-Engines von MySQL Die Standardspeicher-Engine von MySQL ist MyISAM. Andere häufig verwendete sind InnoDB, MERGE, MEMORY (HEAP) usw. Mehrere große Speicher-Engines MyISAM verwaltet nicht transaktionale Tabellen und stellt Hochgeschwindigkeitsspeicherung und -abruf sowie Volltextsuchfunktionen bereit. MyISAM ist die Standardspeicher-Engine für MySQL. Wenn beim Erstellen einer neuen Tabelle durch „Create“ die Speicher-Engine der neuen Tabelle nicht angegeben ist, wird standardmäßig MyISAM verwendet. Jedes MyISAM wird in drei Dateien auf der Festplatte gespeichert. Die Dateinamen sind dieselben wie die Tabellennamen, mit den Erweiterungen .frm (zum Speichern von Tabellendefinitionen), .MYD (MYData, zum Speichern von Daten) und .MYI (MYIndex, zum Speichern von Indizes). Datendateien und Indexdateien können in verschiedenen Verzeichnissen abgelegt werden, um die E/A gleichmäßig zu verteilen und eine höhere Geschwindigkeit zu erreichen. Die InnoDB-Speicher-Engine wird für Anwendungen zur Transaktionsverarbeitung verwendet und verfügt über zahlreiche Funktionen, darunter ACID-Transaktionsunterstützung, die Transaktionssicherheit mit Commit-, Rollback- und Crash-Recovery-Funktionen bietet. Im Vergleich zur MyISAM-Speicher-Engine schreibt InnoDB jedoch weniger effizient und benötigt mehr Speicherplatz, um Daten und Indizes beizubehalten. Im Speicher werden alle Daten gespeichert und können in temporären Tabellen verwendet werden, um einen extrem schnellen Zugriff in Umgebungen zu ermöglichen, in denen eine schnelle Suche nach Referenzen und anderen ähnlichen Daten erforderlich ist. Der Speicher verwendet Hash-Indizes, daher ist die Datenzugriffsgeschwindigkeit sehr hoch. Durch Merge kann ein MySQL-DBA oder -Entwickler eine Reihe gleichwertiger MyISAM-Tabellen logisch gruppieren und sie als 1 Objekt referenzieren. Es eignet sich sehr gut für VLDB-Umgebungen wie Data Warehousing. Horizontaler Vergleich verschiedener Speicher-Engines
Anzeigen und Konfigurieren von Speicher-Engine-Vorgängen 1. Verwenden Sie den Befehl „show engines“, um die von der aktuellen Datenbank unterstützten Speicher-Engines anzuzeigen. 2. Um die Tabellendefinitionsstruktur und andere Informationen anzuzeigen, können Sie die folgenden Befehle verwenden: Desc[ribe] tablename; //Struktur der Datentabelle anzeigen Show create table tablename; //Anweisung zur Tabellenerstellung anzeigen, um die beim Erstellen der Tabelle angegebene ENGINE anzuzeigen show table status like 'tablename'\G zeigt den aktuellen Statuswert der Tabelle an 3. Legen Sie die Speicher-Engine der Tabelle fest oder ändern Sie sie Die grundlegende Syntax zum Festlegen der Speicher-Engine beim Erstellen einer Datenbanktabelle lautet: Tabelle tableName erstellen( columnName (Spaltenname 1) type (Datentyp) attri (Attributeinstellung), columnName (Spaltenname 2) type (Datentyp) attri (Attributeinstellung), ……..) Motor = Motorname Um die Speicher-Engine zu ändern, können Sie den Befehl verwenden Tabelle ändern Tabellenname Engine = Enginename Sie müssen nicht für den gesamten Server oder die gesamte Lösung dieselbe Speicher-Engine verwenden; Sie können für jede Tabelle in der Lösung eine andere Speicher-Engine verwenden. InnoDB-Speicherstruktur InnoDB verwendet eine Seitenspeicherstruktur. Das Folgende ist das Tabellenbereichsstrukturdiagramm von InnoDB: Das Seitenspeicherformat ist in der folgenden Abbildung dargestellt: Der Speicher einer Seite besteht aus folgenden Teilen:
Der Seitenkopf, der maximale/minimale virtuelle Datensatz und der Seitenfuß haben alle feste Speicherorte auf der Seite. InnoDB-Indexstruktur InnoDB verwendet B+Tree zum Speichern von Indizes. Eine Innodb-Tabelle kann mehrere Indizes enthalten, von denen jeder mithilfe eines B+-Baums gespeichert wird. Der Index umfasst einen Clustered-Index und einen Sekundärindex. Der Clustered-Index verwendet den Primärschlüssel der Tabelle als Indexschlüssel und enthält alle Felder der Tabelle. Ein sekundärer Index enthält nur den Inhalt des Indexschlüssels und des gruppierten Indexschlüssels (Primärschlüssel) und schließt keine anderen Felder ein. Jeder Index ist ein B+-Baum. Jeder B+-Baum besteht aus vielen Seiten und die Größe jeder Seite beträgt im Allgemeinen 16 KB. Aus der Organisationsstruktur des B+-Baums können die Seiten des B-Baums wie folgt unterteilt werden: Blattknoten: Die Seite auf Ebene 0 des B-Baums, die alle aufgezeichneten Inhalte speichert. Eine typische B+-Baumstruktur: Wie aus der obigen Abbildung ersichtlich ist, sind Seiten auf derselben Ebene durch eine doppelt verknüpfte Liste verbunden. Im Allgemeinen können Sie, beginnend beim äußersten linken Blattknoten des B+-Baums und scannen nach rechts, alle Daten des B+-Baums von klein bis groß abrufen. Daher gibt es für Blattknoten die folgenden Merkmale: Die Daten innerhalb einer Seite werden nach Indexschlüssel sortiert. Der Indexschlüsselwert eines Datensatzes auf einer Seite ist nicht kleiner als der eines Datensatzes auf der linken Geschwisterseite. Zusammenfassen Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Wenn Sie Fragen haben, können Sie eine Nachricht hinterlassen. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM. Das könnte Sie auch interessieren:
|
<<: VMware12 installiert die Desktopversion von Ubuntu19.04 (Installations-Tutorial)
>>: Vue ElementUI implementiert einen asynchronen Ladebaum
1. Der Tomcat-Dienst ist nicht geöffnet Geben Sie...
Docker bietet eine Möglichkeit, Software automati...
MySQL-Sicherung Kaltes Backup:停止服務進行備份,即停止數據庫的寫入H...
Inhaltsverzeichnis Vielfältige Einsatzmöglichkeit...
Vorwort: Wenn wir Vue verwenden, verwenden und sc...
Dieser Artikel erläutert anhand von Beispielen di...
Nehmen Sie als Beispiel drei aufeinanderfolgende ...
Inhaltsverzeichnis 1. Deklarieren Sie eine Funkti...
Das Folgende ist mein Urteil basierend auf der Da...
1. Erster Download von der offiziellen Website vo...
Ohne weitere Umschweife werde ich den Code direkt...
Dank unserer umfassenden CSS-Erfahrung als Webdesi...
Ereignis-Bubbling, Ereigniserfassung und Ereignis...
1. Docker Compose Übersicht Compose ist ein Tool ...
Inhaltsverzeichnis 1. Grundtypen 2. Objekttyp 2.1...