Heim  >  Artikel  >  Datenbank  >  Wie wird eine SQL-Abfrageanweisung ausgeführt?

Wie wird eine SQL-Abfrageanweisung ausgeführt?

coldplay.xixi
coldplay.xixinach vorne
2020-07-01 17:54:402137Durchsuche

Wie wird eine SQL-Abfrageanweisung ausgeführt?

Wie wird eine SQL-Abfrageanweisung ausgeführt?

Welche Teile gibt es in MySQL?

  1. Connector: Verwaltungsverbindung, Berechtigungsüberprüfung.
  2. Analysator: lexikalische Analyse, Syntaxanalyse.
  3. Optimierer: Ausführungsplangenerierung, Indexauswahl.
  4. Executor: Betreibt die Speicher-Engine und gibt Ergebnisse zurück.
  5. Speicher-Engine: speichert Daten und stellt Lese- und Schreibschnittstellen bereit.

Verwandte Lernempfehlungen: MySQL-Video-Tutorial

Connector

Im ersten Schritt stellen wir zunächst eine Verbindung zur MySQL-Datenbank her und dieses Mal verbinden wir den Connector. Der Connector ist dafür verantwortlich, eine Verbindung mit dem Client herzustellen, Berechtigungen einzuholen, die Verbindung aufrechtzuerhalten und zu verwalten.

mysql -h $ip -u root -p

Abfrage-Cache

Nach dem Herstellen der Verbindung können wir die SELECT-Anweisung verwenden und die Ausführungslogik kommt zum zweiten Schritt: Abfrage-Cache. MySQL fragt nun den Cache ab, um zu sehen, ob diese Anweisung bereits zuvor ausgeführt wurde, und gibt sie in diesem Fall direkt zurück. Dieses Modul wurde seit MySQL 8.0 entfernt.

Analysator

Wenn kein Abfragecache vorhanden ist, beginnt MySQL von hier aus zu analysieren, was wir tun möchten, und es muss die SQL-Anweisungen analysieren, die wir schreiben. Der Analysator führt zunächst eine lexikalische Analyse durch, um die Zeichenfolge und ihre Darstellung zu identifizieren. Führen Sie dann eine Syntaxanalyse durch, um festzustellen, ob die von uns geschriebenen SQL-Anweisungen Fehler enthalten. Wenn Fehler vorliegen, wird ein Fehler ausgegeben.

Optimierer

Nachdem MySQL den Analysator durchlaufen hat, weiß er, was Sie tun möchten. Zu diesem Zeitpunkt entscheidet der Optimierer anhand der Tabellenstruktur, welche Lösung verwendet werden soll Aussagezweck.

Executor

MySQL weiß über den Analysator, was wir tun möchten, und weiß über den Optimierer, wie wir es am effizientesten tun können. Anschließend können Sie den Executor eingeben und die SQL-Anweisung tatsächlich ausführen.

select * from users where name = ‘operator'

Angenommen, es gibt keinen Index für das Namensfeld in der Benutzertabelle, dann ruft der Executor die InnoDB-Engine-Schnittstelle auf, um die erste Zeile abzurufen und festzustellen, ob der Name dem Operator entspricht. Wenn nicht, überspringen Sie ihn. Wenn ja, tragen Sie es konzentriert in das Ergebnis ein. Rufen Sie dann die Engine-Schnittstelle auf, um die nächste Zeile abzurufen, und wiederholen Sie die gleiche logische Beurteilung, bis die letzte Zeile der Tabelle abgerufen ist. Abschließend wird die Ergebnismenge an den Client zurückgegeben.                                                                                                 

Das obige ist der detaillierte Inhalt vonWie wird eine SQL-Abfrageanweisung ausgeführt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:learnku.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen