Heim  >  Artikel  >  Datenbank  >  Fassen Sie den Ausführungsplan für Oracle-Abfragen zusammen

Fassen Sie den Ausführungsplan für Oracle-Abfragen zusammen

WBOY
WBOYnach vorne
2022-06-08 17:25:232111Durchsuche

Dieser Artikel vermittelt Ihnen relevante Informationen zum Abfrageausführungsplan. Ich hoffe, dass dies der Fall ist Seien Sie hilfreich für alle.

Fassen Sie den Ausführungsplan für Oracle-Abfragen zusammenEmpfohlenes 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.

Anschließend 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 die 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 EXPLAIN. Der Befehl PLAN FOR generiert einen Ausführungsplan, speichert ihn in der Systemtabelle PLAN_TABLE und zeigt dann den generierten Ausführungsplan über eine Abfrageanweisung an.

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

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 vonFassen Sie den Ausführungsplan für Oracle-Abfragen zusammen. 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