Heim > Datenbank > MySQL-Tutorial > Inner Join vs. WHERE-Klausel in Oracle: Erzeugen sie unterschiedliche Leistung?

Inner Join vs. WHERE-Klausel in Oracle: Erzeugen sie unterschiedliche Leistung?

Barbara Streisand
Freigeben: 2025-01-20 08:27:09
Original
196 Leute haben es durchsucht

Inner Join vs. WHERE Clause in Oracle:  Do They Produce Different Performance?

Leistungsvergleich von Inner Joins und WHERE-Klauseln in der Oracle-Datenbank

In Oracle Database weisen Inner Joins und WHERE-Klauseln ein hohes Maß an Konsistenz in der Leistung auf, und die von beiden generierten Ausführungspläne sind nahezu identisch.

Sehen wir uns ein Beispiel an, vorausgesetzt, wir haben zwei Tabellen:

CREATE TABLE table1 (
  id INT,
  name VARCHAR(20)
);

CREATE TABLE table2 (
  id INT,
  name VARCHAR(20)
);
Nach dem Login kopieren

Der Abfrageausführungsplan mit Inner Joins lautet wie folgt:

-- 使用内连接
EXPLAIN PLAN FOR
SELECT * FROM table1 t1
INNER JOIN table2 t2 ON t1.id = t2.id;

SELECT *
FROM TABLE (DBMS_XPLAN.DISPLAY);

-- 0 select statement
-- 1 hash join (access("T1"."ID"="T2"."ID"))
-- 2 table access full table1
-- 3 table access full table2
Nach dem Login kopieren

Der entsprechende Abfrageausführungsplan unter Verwendung der WHERE-Klausel ist ähnlich:

-- 使用 WHERE 子句
EXPLAIN PLAN FOR
SELECT * FROM table1 t1, table2 t2
WHERE t1.id = t2.id;

SELECT *
FROM TABLE (DBMS_XPLAN.DISPLAY);

-- 0 select statement
-- 1 hash join (access("T1"."ID"="T2"."ID"))
-- 2 table access full table1
-- 3 table access full table2
Nach dem Login kopieren

Wie aus dem Ausführungsplan ersichtlich ist, verwenden beide Methoden Hash-Joins und führen vollständige Tabellenscans für die Tabellen Tabelle1 und Tabelle2 durch. Daher sind ihre Leistungsmerkmale nahezu identisch.

Das obige ist der detaillierte Inhalt vonInner Join vs. WHERE-Klausel in Oracle: Erzeugen sie unterschiedliche Leistung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage