IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası

IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası (https://www.ircforumlari.net/)
-   Oracle (https://www.ircforumlari.net/oracle/)
-   -   Oracle Cursor nedir ve nasıl kullanılmalıdır (https://www.ircforumlari.net/oracle/553486-oracle-cursor-nedir-ve-nasil-kullanilmalidir.html)

YazılımMimarı 16 Kasım 2013 17:32

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- Kodu:

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.


Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 17:45.

Powered by vBulletin® Version 3.8.8 Beta 3
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2024 IRCForumlari.Net