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
10 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.2k puan) cevapladı
farklı tablo update ediyorum.

ve bir procedure içinde parametre olarak veriyorum

İlgili sorular

0 oy
2 cevap 304 gösterim
+1 oy
1 cevap 21 gösterim
0 oy
1 cevap 19 gösterim
+1 oy
1 cevap 28 gösterim
28 gösterim 8 Mart 2017 Veri Tabanı kategorisinde buzel (570 puan) sordu
...