sql >> Database >  >> RDS >> Oracle

Innerlijke join vs waar

Nee! Hetzelfde uitvoeringsplan, kijk naar deze twee tabellen:

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

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

Het uitvoeringsplan voor de query met behulp van de inner join:

-- with inner join

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

En het uitvoeringsplan voor de query met behulp van een WHERE-clausule.

-- with where clause

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


  1. Hoe kan ik een HTTP-verzoek indienen vanaf de SQL-server?

  2. Java Unit Testing verkennen met het JUnit Test Framework

  3. Hoe te voorkomen dat dubbele records in MySQL worden ingevoegd?

  4. Schemanaam toevoegen aan entiteit in Spring-gegevens?