Beschreiben Sie kurz die MySQL InnoDB-Speicher-Engine

Beschreiben Sie kurz die MySQL InnoDB-Speicher-Engine

Vorwort:

Die Speicher-Engine ist der Kern der Datenbank. Bei MySQL läuft die Speicher-Engine in Form eines Plug-Ins. Obwohl MySQL eine Vielzahl von Speicher-Engines unterstützt, wird InnoDB am häufigsten verwendet. Dieser Artikel vermittelt hauptsächlich Kenntnisse über die Speicher-Engine InnoDB.

1. Einführung in InnoDB

Nach MySQL Version 5.5 ist InnoDB die Standardspeicher-Engine. InnoDB ist eine universelle Speicher-Engine, die hohe Zuverlässigkeit und hohe Leistung kombiniert. Sofern Sie in MySQL 5.7 keine andere Standardspeicher-Engine konfiguriert haben, wird durch die Ausführung einer CREATE TABLE-Anweisung ohne Angabe einer ENGINE eine InnoDB-Tabelle erstellt.

# Zeigen Sie die von MySQLmysql unterstützten Speicher-Engines an> show engines;
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| Engine | Support | Kommentar | Transaktionen | XA | Speicherpunkte |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| InnoDB | STANDARD | Unterstützt Transaktionen, Zeilensperren und Fremdschlüssel | JA | JA | JA |
| MRG_MYISAM | JA | Sammlung identischer MyISAM-Tabellen | NEIN | NEIN | NEIN |
| SPEICHER | JA | Hash-basiert, im Speicher abgelegt, nützlich für temporäre Tabellen | NEIN | NEIN | NEIN |
| BLACKHOLE | JA | /dev/null-Speicher-Engine (alles, was Sie hineinschreiben, verschwindet) | NEIN | NEIN | NEIN |
| MyISAM | JA | MyISAM-Speicher-Engine | NEIN | NEIN | NEIN |
| CSV | JA | CSV-Speicher-Engine | NEIN | NEIN | NEIN |
| ARCHIV | JA | Archivspeicher-Engine | NEIN | NEIN | NEIN |
| PERFORMANCE_SCHEMA | JA | Leistungsschema | NEIN | NEIN | NEIN |
| FEDERATED | NO | Föderierte MySQL-Speicher-Engine | NULL | NULL | NULL |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+

# Standard-Speicher-Engine anzeigenmysql> Variablen wie „default_storage_engine“ anzeigen;
+------------------------+--------+
| Variablenname | Wert |
+------------------------+--------+
| Standardspeicherengine | InnoDB |
+------------------------+--------+

2. Vorteile von InnoDB

Der Grund für die große Beliebtheit von InnoDB liegt vor allem in seinen zahlreichen funktionalen Vorteilen.

1) Support-Dienstleistungen

Der wichtigste Punkt an InnoDB ist die Unterstützung von Transaktionen. Man kann sagen, dass dies ein sehr wichtiger Grund dafür ist, dass InnoDB zur beliebtesten Speicher-Engine in MySQL geworden ist. Darüber hinaus implementiert InnoDB auch vier Isolationsebenen (READ UNCOMMITTED, READ COMMITTED, REPEATABLE READ und SERIALIZABLE), wodurch die Transaktionsunterstützung flexibler wird.

2) Gute Notfallwiederherstellung

InnoDB gewährleistet Datensicherheit durch Commit, Rollback und Crash-Recovery.

Konkret bedeutet Absturzwiederherstellung, dass wenn der Server aufgrund von Hardware- oder Softwareproblemen abstürzt, InnoDB unabhängig vom aktuellen Datenbestand nach einem Neustart von MySQL automatisch in den Zustand vor dem Absturz wiederhergestellt wird.

3) Verwenden Sie Sperren auf Zeilenebene

InnoDB ändert den Sperrmechanismus von MyISAM und implementiert eine Zeilensperre. Obwohl der Zeilensperrmechanismus von InnoDB über Indizes implementiert wird, verwenden die meisten SQL-Anweisungen in der Datenbank Indizes zum Abrufen von Daten. Der Zeilensperrmechanismus verbessert außerdem die Wettbewerbsfähigkeit von InnoDB in Umgebungen mit hohem Parallelitätsdruck erheblich.

4) Implementierte Pufferverarbeitung

InnoDB bietet einen dedizierten Pufferpool und implementiert eine Pufferverwaltung. Es kann nicht nur Indizes, sondern auch Daten puffern. Häufig verwendete Daten können direkt aus dem Speicher verarbeitet werden, was schneller ist, als Daten von der Festplatte abzurufen. Auf einem dedizierten Datenbankserver werden üblicherweise bis zu 80 % des physischen Speichers dem Pufferpool zugewiesen.

5) Unterstützung für Fremdschlüssel

InnoDB unterstützt Fremdschlüsseleinschränkungen, Prüfungen von Fremdschlüsseln, Einfügungen, Aktualisierungen und Löschungen, um die Datenintegrität sicherzustellen. Beim Speichern von Daten in einer Tabelle wird jede Tabelle in der Reihenfolge des Primärschlüssels gespeichert. Wenn der Primärschlüssel beim Definieren der Tabelle nicht explizit angegeben wird, generiert InnoDB für jede Zeile eine 6-Byte-ROWID und verwendet diese als Primärschlüssel.

Zusammenfassen:

Dieser Artikel stellt kurz die InnoDB-Speicher-Engine und ihre Vorteile vor. Wenn Sie MySQL gründlich lernen möchten, ist InnoDB definitiv ein Schlüsselwissen, an dem Sie nicht vorbeikommen. Es gibt noch viel mehr Inhalte zu InnoDB und ich werde später, wenn ich die Gelegenheit dazu habe, mehr darüber schreiben.

Oben finden Sie eine kurze Beschreibung der Details der MySQL InnoDB-Speicher-Engine. Weitere Informationen zur MySQL InnoDB-Speicher-Engine finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM!

Das könnte Sie auch interessieren:
  • Zusammenfassung der MySQL InnoDB-Architektur
  • Eine kurze Einführung in MySQL InnoDB ReplicaSet
  • Detaillierte Erläuterung der Speicherverwaltung der MySQL InnoDB-Speicher-Engine
  • Hauptfunktionen von MySQL Innodb: Einfügepuffer
  • Zusammenfassung der MySQL InnoDB-Sperren
  • So unterscheiden Sie MySQLs innodb_flush_log_at_trx_commit und sync_binlog
  • Detailliertes Beispiel des MySQL InnoDB-Sperrmechanismus
  • Ausführliche Erläuterung der InnoDB-Sperren in der MySQL-Technologie
  • Ändern Sie die MySQL-Datenbank-Engine in InnoDB
  • Ausführliche Erläuterung zum Beispiel der MySQL InnoDB-Tablespace-Verschlüsselung
  • MySQL InnoDB-Quellcodeanalyse für Transaktionssperren

<<:  Schnellstart der Vue3-Dokumentation

>>:  Lösung für das Problem „Linux QT Kit fehlt“ und „Version leer“

Artikel empfehlen

Bedeutung und Berechnungsmethode von QPS und TPS der MySQL-Datenbank

Bei DB-Benchmarktests sind QPS und TPS wichtige I...

Detaillierte Erklärung zum Ändern des Standardports von nginx

Finden Sie zunächst heraus, wo sich die Konfigura...

Detaillierte Beispiele für Variablen- und Funktionspromotion in JavaScript

js-Ausführung Phase der lexikalischen Analyse: um...

Sieben Prinzipien eines guten Designers (1): Schriftdesign

Nun, vielleicht sind Sie ein Design-Guru, oder vie...

Installieren Sie Windows Server 2019 auf VMware Workstation (Grafisches Tutorial)

Wenn Sie aufgefordert werden, einen Schlüssel ein...

Detailliertes Beispiel für die Verkettung mehrerer Felder in MySQL

Das Zusammenführen von Zeilen- und Feldergebnisse...

Implementierung der Docker-Bereitstellung von ElasticSearch und ElasticSearch-Head

In diesem Artikel wird hauptsächlich erläutert, w...

So überprüfen Sie, ob die Firewall in Linux ausgeschaltet ist

1. Servicemethode Überprüfen Sie den Firewall-Sta...

Hinweise zum Import, Export und zur Migration von MySQL Billions of Data

Ich habe in letzter Zeit viele MySQL-Notizen gema...

Python schreibt die Ausgabe in den CSV-Vorgang

Wie unten dargestellt: def test_write(selbst): Fe...

Detailliertes Beispiel der Lesegeschwindigkeit von JS-Objekten

1. Der Zugriff auf Literale und lokale Variablen ...