Etiket arşivi: plsql

Oracle 11g Cursor kullanımı

Merhabalar,

Geçenlerde Oracle 11g’de üç çeÅŸit cursor’ın karşılaÅŸtırmalı performans sınamasını gerçekleÅŸtirdim. Aslında iÅŸ için gerekti ama fırsattan istifade sizlerle de paylaÅŸmak istedim. Bu aralar aktif ÅŸekilde blog yazımı ile ilgilenmesem de buna benzer fırsatları deÄŸerlendirmek gerekli :)

3,629,848 adet kayıt için 11g’de performans deÄŸerleri aÅŸağıdaki gibidir;

1- Cursor ve Bulk Collect (Open / Fetch Bulk limit 10000 / Close) ~2,5sn – belirlenmiÅŸ memory kullanımı.
Start:34.26.163863000 PM +03:00
End: 34.28.616085000 PM +03:00

2- Sadece Implicit (For) Cursor ~4,5sn – düşük memory kullanımı (1. maddenin limit 100 ile kullanımı kadar)
Start: 33.22.212231000 PM +03:00
End: 33.26.701057000 PM +03:00

3- Eski tarz (Open / Fetch / Close) Cursor ~50sn – çok düşük memory kullanımı
Start: 27.52.405369000 PM +03:00
End: 28.42.254359000 PM +03:00

1. madde ile 2. madde arasındaki fark tamamen “limit 10000” den kaynaklanıyor. 2. Madde için oracle sistemi varsayılan olarak 100 deÄŸerini kullanıyor. Bu nedenle 2.nin memory kullanımı 1.ye göre daha az olduÄŸu yönünde genel bir kabul mevcut.

Kolay gelsin.

Oracle 11g Cursor kullanımı yazısına devam et