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

eskimo

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

titiraprap

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.

selam

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

cheers for fears
1

mobil görünümden çık