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
Birbirinden değerli Türkçe Blog yazarlarını takip edebilmek için ziyaret edebileceğiniz bir internet sitesi. yazarlar.hasscript.com

Kategoriler

0 oy
26 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.8k 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.5k puan) cevapladı
farklı tablo update ediyorum.

ve bir procedure içinde parametre olarak veriyorum

İlgili sorular

0 oy
2 cevap 415 gösterim
0 oy
1 cevap 4 gösterim
0 oy
1 cevap 9 gösterim
+1 oy
1 cevap 32 gösterim
...