1 milyonluk(a tablosu) ve 12 milyonluk(b tablosu) iki tablom var. ve bunları joinliyorum
benim daha hızlı olacağını savunduğum;
select a.col1, b.col2, b.col3 from tablo_a a left join tablo_b b on ...
arkadaşın daha hızlı olacağını savunduğu;
select a.col1, b.col2, b.col3 from tablo_a a left join (select b.col2, b.col3 tablo_b) b on ...
kim haklı sizce?

bu arada pl/sql ya. söylemeyi unutmuşum. bir de kolonların birinde indeks bulunuyor sadece


mantıken birşey farketmemesi lazım ama
oracle bu belli de olmaz. execution plan'e bakmak lazım.


sadece tek tabloda index olması ikisinide seq scan'e zorlayacaktır, ikinci sorgu ikinci çalışmada daha hızlı çalışır çünkü tüm datayı rame yüklemeye çalışacaktır eğer sığarsa ikincisi daha hızlı olur.
daha fazla hız için indexleme şart, birde 1 milyonu 12 milyona join etmeye kalktığında oldukça yavaşlayacaktır sistem ikinci sorguda yine rame sığarsa data daha hızlı iş yapar.
her ikiside sürünür ama birincisi biraz daha sürünür düşüncesindeyim.


iki sorguyu da çalıştırıp execution time ölçümü yaparsanız en sağlıklı sonucu alırsınız.
