Merhabalar arkadaşlar, Sitemizi programlama ile ilgilenen bütün arkadaşlarımızın türkçe içerik konusunda çektiği sıkıntılar düşünülerek soru/cevap şeklinde bir etkileşimde bulunabilmesi için kurduk. Umuyoruz hepimiz için güzel bir deneyim olur. Hasscript Ekibi
0 oy
19 gösterim

selam, 

oracle veri tabanında bir for loop içinde bir tablo select çekiyorum.. Bu select i daha da hızlandırmanın bir yolu var mıdır? 

İlk düşüncem burada tüm dataya erişmek yerine (*), sadece colum_c yapmak daha mantıklı ilk olarak. Başka index ekleme, hint kullanma gibi yöntemler kullanmayı düşünüyorum. Ne işe yarar bilemedim.

for  r  in (select * from TABLE)

  update Table_X

   set column_a :=123

where column_b = r.column_c

end loop;

Veri Tabanı kategorisinde (1.7k puan) sordu

1 cevap

0 oy

tablo üzerinden çekip, aynı tabloyu update ediyorsan, rowid kullan.

for  r  in (select *, rowid rid from TABLE_X)

  update Table_X

   set column_a :=123

where rowid = rid

end loop;

(3.4k puan) cevapladı
farklı tablo update ediyorum.

ve bir procedure içinde parametre olarak veriyorum

İlgili sorular

0 oy
2 cevap 358 gösterim
+1 oy
1 cevap 25 gösterim
0 oy
1 cevap 30 gösterim
...