23 EYLÜL 2008, Salı
İç vs Nerede katıl
Performans farkı (oracle) arasında var
Select * from Table1 T1
Inner Join Table2 T2 On T1.ID = T2.ID
Ve
Select * from Table1 T1, Table2 T2
Where T1.ID = T2.ID
?
CEVAP
10 Aralık 2008, ÇARŞAMBA
Hayır! Aynı yürütme planı, bu iki tablodan bakın:
CREATE TABLE table1 (
id INT,
name VARCHAR(20)
);
CREATE TABLE table2 (
id INT,
name VARCHAR(20)
);
Sorgu için yürütme planı iç birleşim kullanarak:
-- 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
Ve bir sorgu kullanarak yürütme planı 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
Bunu Paylaş:
İç vs Nerede katıl...
Nerede böyle büyük mükafat 4 mağaza Dü...
Bir ORM nedir ve nerede hakkında daha ...
Python Açıklar .(katıl)...
Nasıl seri katıl bir yöntem sözdizimi ...