search
Giriş
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
457 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 2.0k puan

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;

6.2k puan
farklı tablo update ediyorum.

ve bir procedure içinde parametre olarak veriyorum

İlgili sorular

0 oy
1 cevap 310 gösterim
310 gösterim
select top * ... ile select top ... komutları arasında fark var mı? select atarken * kullanmalı mıyım?
6 Ocak 2022 Veri Tabanı kategorisinde canonka 334 puan sordu
0 oy
2 cevap 2.5K gösterim
2.5K gösterim
Oracle kullanıyoruz , yazdığımız sorugular yavaş geldiği zamanlar oluyor. Sorguları hızlandırmak için neler yapabiliriz?
21 Aralık 2016 Veri Tabanı kategorisinde kenan 6.2k puan sordu
0 oy
0 cevap 822 gösterim
822 gösterim
Selamlar, Elimdeki iki tane A ve B diye tablo var. B tablosundaki bir sütunu A tablosundanki bir sütunla güncellemek istiyorum. Bunun için şöyle bir sorgu yaptım; UPDATE identityiq.karsilastirma2 SET email = (SELECT departman FROM identityiq.karsilastirma1 WHERE ... kullanmak istemiyorum. Kullanmadığım takdirde hata veriyor. Herhangi bir şarta bakmadan direk A da ki verileri B ye alabilir miyim?
27 Mayıs 2021 Veri Tabanı kategorisinde kupanintorunu 365 puan sordu
1 oy
1 cevap 268 gösterim
268 gösterim
Selam, elimizde çok büyük bir tablo var. Bunun içinden sadece belirlediğim koşullardaki verileri çekeceğim. Ancak create table as .. şeklinde tablo oluşturmadan boyutunu select sonucumun boyutunu öğrenebilmemin bir yolu var mıdır?
28 Mayıs 2018 Veri Tabanı kategorisinde tolgacelik.art 2.0k puan sordu
0 oy
1 cevap 236 gösterim
236 gösterim
Veri tabanında Member diye bir tablom var. Bunun id=5 olan kaydın "salary" column un ="100" değerinde. Dışarıdan iki farklı kişi aynı anda bu veriye erişip güncellemeye çalışyor. Birin yaptığı değişiklği diğeri görmeden ezebilir. Bu durumda nasıl bir çözüm üretebiliriz?
21 Eylül 2020 Veri Tabanı kategorisinde tolgacelik.art 2.0k puan sordu