Tekil Mesaj gösterimi
Alt 16 Kasım 2013, 17:32   #1
Çevrimdışı
YazılımMimarı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Oracle Cursor nedir ve nasıl kullanılmalıdır




Cursor nedir ile ilgili bilgiye detaylı olarak wikipedia -> [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]'inden bakarsınız. Ben kısaca yazıp geçeyim.

Cursor : Basit olarak bahsedecek olursak, programlamadaki for loop(döngüsü) gibi çalışır, veri kümesi içinde satır satır dönmek için kullanılır. Avantajı ise yüksek ölçekli veri işleme işlerini eğer uygulama (programlama) içinde gerçekleştirmeye çalıştığınızda performans sorunu yaşayacaksınız eğer bu tür yüksek ölçekli veritabanı işlerini database üzerinde hallederseniz hem zaman hemde performans olarak oldukça hızlıdır. Küçük bir hatırlatma yapayım, cursor işlemlerini direkt olarak database içinde bir prosedür yada job ile yaparsanız, cursor database'i oldukça yorar ve kaynak(cpu,ram) tüketimini yükseltir. Buna sebep olan ise, cursor üzerinde çalıştığı tabloları ve veri kümelerini ram üzerinde alıp, onun üzerinden işlemesidir.

Bu kadar bilgilendirmeden sonra, makul olan kullanımı ise çalışacağınız tablolar, viewlar 'ı geçiçi bir tablo üzerine atayıp bu geçiçi tablo üzerinden işlem yapmanızdır böylelikle canlı sistem üzerinde asıl olan tabloları lock'lamamış olursunuz ve ram tüketimini düşürürsünüz.

Tanımlanması ;

PHP Kod:   Kodu kopyalamak için üzerine çift tıklayın!
DECLARE
   
CURSOR cursor_ornek
   IS
      SELECT COLUMN1
COLUMN2 FROM TABLE;

BEGIN
   
FOR cursor_satir IN cursor_ornek
        LOOP
      DBMS_OUTPUT
.put_line ('COLUMN 1 : ' || cursor_satir.COLUMN1 || 'COLUMN 2 ' || cursor_satir.COLUMN2);
   
END LOOP;
END

Yukarıdaki örnek, cursor'ın tanımlanması ve örnek bir kullanımıdır.

 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları reklam ver Benimmekan Mobil Sohbet