Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Gabung dalam vs Dimana

Tidak! Rencana eksekusi yang sama, lihat dua tabel ini:

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

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

Rencana eksekusi untuk kueri menggunakan gabungan dalam:

-- 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

Dan rencana eksekusi untuk kueri menggunakan klausa WHERE.

-- 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Server Clustering dari Perspektif Oracle RAC

  2. Buat tampilan Pivot di SQL dari tabel SQL

  3. secara terprogram memeriksa koneksi terbuka di JDBC

  4. Dapatkan tipe data bidang dalam pernyataan pilih di ORACLE

  5. 2 Cara Mengembalikan Baris yang Hanya Mengandung Karakter Alfanumerik di Oracle