[]
Sql Optimizasyon
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?
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 (02.06.15 12:32:48)
mantıken birşey farketmemesi lazım ama
oracle bu belli de olmaz. execution plan'e bakmak lazım.
oracle bu belli de olmaz. execution plan'e bakmak lazım.
- titiraprap (02.06.15 12:49:54 ~ 13:01:43)
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.
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 (02.06.15 15:10:09)
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 (02.06.15 16:09:19)
1