Heim  >  Artikel  >  Datenbank  >  Lassen Sie uns darüber sprechen, wie Oracle Ausführungspläne abfragt

Lassen Sie uns darüber sprechen, wie Oracle Ausführungspläne abfragt

WBOY
WBOYnach vorne
2022-05-05 19:10:144198Durchsuche

Dieser Artikel vermittelt Ihnen relevantes Wissen über Oracle und stellt hauptsächlich den relevanten Inhalt zum Abfrageausführungsplan vor, der auch als Abfrageplan bezeichnet wird. Dabei handelt es sich um die spezifischen Schritte und den Prozess der Ausführung von SQL-Anweisungen durch die Datenbank Gemeinsam mal reinschauen, ich hoffe es hilft allen.

Lassen Sie uns darüber sprechen, wie Oracle Ausführungspläne abfragt

Empfohlenes Tutorial: „Oracle-Video-Tutorial

Der Ausführungsplan (Execution Plan) wird auch als Abfrageplan (Query Plan) bezeichnet. Dabei handelt es sich um die spezifischen Schritte und Prozesse, mit denen die Datenbank SQL-Anweisungen ausführt. Der Ausführungsplan einer SQL-Abfrageanweisung umfasst hauptsächlich:

  • So greifen Sie auf die Tabelle zu. Die Datenbank greift über Indizes oder vollständige Tabellenscans auf Daten in der Tabelle zu.

  • Mehrtisch-Verbindungsmethode. Welcher Verbindungsalgorithmus wird von der Datenbank zum Verbinden von Tabellen verwendet, einschließlich der sequentiellen Zugriffssequenz mehrerer Tabellen?

  • So implementieren Sie Vorgänge wie Gruppierung, Aggregation und Sortierung.

Obwohl verschiedene Datenbanken unterschiedliche Implementierungsmethoden für den Ausführungsprozess von SQL-Abfragen verwenden, muss eine Abfrageanweisung im Allgemeinen vom Analysator, Optimierer und Ausführer verarbeitet werden und gleichzeitig das Endergebnis zurückgeben Wird zur Verbesserung der Zugriffsleistung verwendet.

Einfach ausgedrückt beginnt eine Abfrageanweisung mit der Übermittlung durch den Client, bis der Server das Endergebnis zurückgibt. Der gesamte Prozess ist ungefähr wie in der Abbildung dargestellt.

Zuerst übermittelt der Client die SQL-Anweisung. Zuvor muss der Client eine Verbindung zum Datenbankserver herstellen. Der Connector in der Abbildung ist die Komponente, die für den Aufbau und die Verwaltung von Clientverbindungen verantwortlich ist.

Dann analysiert der Analysator (Parser) die verschiedenen Komponenten der SQL-Anweisung, führt eine Syntaxanalyse durch und prüft, ob die Syntax der SQL-Anweisung der Spezifikation entspricht.

Zum Beispiel wird das Schlüsselwort FROM in der folgenden Anweisung fälschlicherweise als FORM geschrieben:

In diesem Fall geben alle Datenbankverwaltungssysteme einen Syntaxfehler zurück.

Der Optimierer verwendet dann die von der Datenbank gesammelten statistischen Informationen, um den besten Weg zur Ausführung der SQL-Anweisung zu ermitteln. Zum Beispiel, ob auf eine einzelne Tabelle über einen Index oder einen vollständigen Tabellenscan zugegriffen werden soll, welche Reihenfolge zum Verbinden mehrerer Tabellen verwendet werden soll, wie Daten sortiert werden usw.

Der Optimierer ist eine Schlüsselkomponente, die die Abfrageleistung bestimmt, und die statistischen Informationen der Datenbank bilden die Grundlage für die Beurteilung des Optimierers.

Schließlich ruft der Ausführende das entsprechende Ausführungsmodul auf, um Daten gemäß dem optimierten Ausführungsplan abzurufen, und gibt das Ergebnis an den Client zurück.

So zeigen Sie den Ausführungsplan an

Methode 1: Anweisungsansicht

In der Oracle-Datenbank können wir auch den Befehl EXPLAIN PLAN FOR verwenden, um den Ausführungsplan zu generieren, aber wir müssen zwei Befehle ausführen:

EXPLAIN PLAN FOR

SELECT * FROM  T_USER1 t where t.user_name = 'Admin';

SELECT * FROM  TABLE(dbms_xplan.display);

Verwenden Sie den Befehl EXPLAIN PLAN FOR, um einen Ausführungsplan zu generieren, ihn in der Systemtabelle PLAN_TABLE zu speichern und den generierten Ausführungsplan dann über eine Abfrageanweisung anzuzeigen.

Wobei dbms_xplan.display eine Oracle-Systemfunktion ist. Die zurückgegebenen Ergebnisse zeigen, dass die Anweisung Daten über den Indexbereichsscan „SYS_C0016771“ in Oracle findet.

Methode 2: Verwenden Sie Tools zum Anzeigen

Wählen Sie im häufig verwendeten Oracle-Datenbankentwicklungstool PL/SQL ein SQL-Skript aus und drücken Sie die Taste F5, um die Ausführungsplaninformationen des Skripts automatisch anzuzeigen. Befolgen Sie die Methode 1 Die Abfrageergebnisse sind identisch.

Analyse des Ausführungsprozesses

Beziehen Sie sich auf den folgenden Artikel:

In der Oracle-Datenbank können wir den Index und die zugehörigen Feldinformationen über die Systemtabellen user_indexes und user_ind_columns abfragen.

SELECT * FROM  user_indexes;

SELECT * FROM  user_ind_columns;

Empfohlenes Tutorial: „Oracle Video Tutorial

Das obige ist der detaillierte Inhalt vonLassen Sie uns darüber sprechen, wie Oracle Ausführungspläne abfragt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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