Heim  >  Artikel  >  Datenbank  >  Detaillierte Erläuterung der Architektur und Konzepte von Hochleistungs-MySQL

Detaillierte Erläuterung der Architektur und Konzepte von Hochleistungs-MySQL

黄舟
黄舟Original
2017-03-15 17:18:351273Durchsuche


1.Die logische Architektur von MySQL

Detaillierte Erläuterung der Architektur und Konzepte von Hochleistungs-MySQL
Die oberste Ebene ist nicht einzigartig für MySQL, sie ist vollständig netzwerkbasiert C/S Alle Netzwerkanwendungen sollten Verbindungshandhabung, Authentifizierung, Sicherheitsverwaltung usw. umfassen.

Die mittlere Schicht ist der Kern von MySQL, einschließlich AbfrageAnalyse, Analyse, Optimierung und Caching usw. Gleichzeitig bietet es auch Cross-Storage-Engine-Funktionen, einschließlich gespeicherte Prozeduren, Trigger und Ansichten usw.

Unten befindet sich die Speicher-Engine, die für den Zugriff auf Daten verantwortlich ist. Der Server kann über die API der Speicher-Engine mit verschiedenen Speicher-Engines interagieren.

1.1. Abfrageoptimierung und -ausführung (Optimierung und Ausführung)

MySQL analysiert die Abfrageanweisung des Benutzers, erstellt eine interne Datenstruktur – den Analysebaum – und führt dann verschiedene Optimierungen durch die Abfrage, die Auswahl der Reihenfolge, in der die Tabellen gelesen werden sollen, und der zu verwendende Index usw. Der Abfrageoptimierer kümmert sich nicht um die von einer Tabelle verwendete Speicher-Engine, aber die Speicher-Engine beeinflusst, wie der Server Abfragen optimiert. Der Optimierer erhält einige Parameter, die Ausführungskosten einer Operation und statistische Informationen über die Speicher-Engine. Vor dem Parsen einer Abfrage greift der Server auf den Abfragecache zu, in dem die SELECT-Anweisung und die entsprechende Abfrageergebnismenge gespeichert sind. Wenn sich ein Abfrageergebnis bereits im Cache befindet, analysiert, optimiert und führt der Server die Abfrage nicht mehr aus. Es gibt nur die Ergebnisse im Cache an den Benutzer zurück, was die Leistung des Systems erheblich verbessert.

1.2. Parallelitätskontrolle

MySQL bietet zwei Ebenen der Parallelitätskontrolle: die Serverebene (die Serverebene) und die Speicher-Engine-Ebene (die Speicher-Engine-Ebene). Sperren sind die grundlegende Methode, um die Parallelitätskontrolle zu erreichen:

(1) Sperren auf Tabellenebene: MySQL stellt Tabellensperren unabhängig von der Speicher-Engine bereit. Der Server stellt Tabellensperren bereit (Sperre auf Tabellenebene).

(2) Sperren auf Zeilenebene: InnoDB- und Falcon-Speicher-Engines bieten Sperren auf Zeilenebene. Darüber hinaus unterstützt BDB Sperren auf Seitenebene. Der Parallelitätskontrollmechanismus von InnoDB wird im nächsten Abschnitt ausführlich erläutert.


Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Architektur und Konzepte von Hochleistungs-MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn