GELIŞTIRICILER IÇIN ORACLE 11G’DE ÖLÇEKLENEBILIR KOD GELIŞTIRME & YENI ÖZELLIKLER PART_1
-
Upload
anar-godjaev -
Category
Documents
-
view
232 -
download
2
Transcript of GELIŞTIRICILER IÇIN ORACLE 11G’DE ÖLÇEKLENEBILIR KOD GELIŞTIRME & YENI ÖZELLIKLER PART_1
Geliştiriciler için Oracle 11g’de
Ölçeklenebilir Kod geliştirme
&
Yeni Özellikler
PL/SQL’de Ölçeklenebilir kod geliştirmek için yöntemler :
Çoklu kayıt işleme
Döngü içinde kayıt işlemleri
Bulk İşlemler
Sabit Bilgilere erişim
DUAL kullanımı
Returning kullanımı
Conditional Compilation
Fonksiyonel Index kullanımı
Result Cache
Database link kullanımı
Parse işlemi
Commit Kullanımı
PL/SQL’de geliştiriciler için yeni özellikler :
Simple integer data türü
CONTINUE komutu
Sequence kullanımı
Subprogram inlining
Native Compile işlemi
Conditional Compilation
Read Only tablolar
Invisible index kullanımı
SQL Monitoring
Historic Performans tabloları
Otomatik SQL Tuning
SQL Plan Yönetimi
Temp tablespace
Compile Time Uyarıları
PL/SQL’de geliştiriciler için yeni özellikler:
SQL Procedure Parametre kullanımında iyileştirmeler
DDL Bekletme opsiyonu
Virtual Kolon
Kolon değişiklikleri ve Default kullanımında iyileştirmeler
Hata Takibi
Fine Grained Dependency
PLSQL_OPTIMIZE_LEVEL
Trigger’ların yeni özellikleri
Segmentsiz tablo yaratma
Yeni Partitioning özellikleri
Transparent Data Encryption
Edition Based Redefinition
Advanced Compression
PL/SQL’de
Ölçeklenebilir
Kod Geliştirme Yöntemleri
Döngü içinde teker teker DML işleri yapmak yerine ; işleminizi tek bir komuta
indiriniz.
İç içe döngüler içinde teker teker DML işleri yapmak yerine ; işleminizi tek
bir komuta indiriniz.
İç içe döngüler içinde teker teker DML işleri yapmak Context Switch’e
neden olur.
Context Switch’i azaltmak için FORALL ve BULK SELECT kullanabiliriz.
BULK İşlemler ile Ölçeklenebilir kod yazabilirsiniz
• Bulk insert, update , delete için FORALL kullanınız.
• Bulk select için BULK COLLECT kullanınız.
• Bulk işlem yapılarak Context Switch minimize edilir.
Lookup tablo kullanarak sabit bilgileri bellekte saklar ve bellekten
kullanabilirsiniz ( 10g yeni özellik).
Result Cache kullanarak sabit bilgileri bellekte saklar ve tekrar
kullanabilirsiniz ( 11g yeni özellik ).
SQL cümlelerinde DUAL kullanımını azaltmak CPU kullanımını düşürecektir.
SQL cümlelerinde gerekmedikçe DUAL Kullanmayınız.
Master-detay kayıt işlemlerinde bir komut ile Primary Key ‘i alabilirsiniz (
11g yeni özellik).
Conditional-Compilation ile bir kodda gereksiz kod parçalarını
kaldırabilirsiniz.
Fonksiyonel index kullanarak SQL leri hızlandırabiliriz.
Fonksiyonlarda Result-Cache kullanımı ile sabit değerleri bellekte tutabilir
ve hızlı erişebilirsiniz( 11g yeni özellik ).
Database Link yerine materilazed view kullanarak Network kullanımını ve
bağımlılığını azaltabiliriz.
Bind değişkenler kullanarak Parse işlemini azaltabilirsiniz . Böylece komutunuz
daha az CPU kullanacaktır.
Programlardaki commit atma sıklığını azaltarak, programları hızlandırabiliriz.
Trigger Kullanımını Azaltınız
• Trigger kullanımı SQL engine ile PL/SQL engine arasında context
switch’i arttırır.
• Trigger kodunu PL/SQL yerine Java’da yazabilirsiniz.
• Trigger kodu yerine Check Constraint’ler kullanılabilir.
• Bulk yapılan işlemler için Compound Trigger yaratabiliriz.
ÖlçeklenebilirKodyazmakuralları
• SQL Set Language, PL/SQL Procedural Language
• Sorgularımızı SQL ileyazalım. PL/SQL
‘iyalnızcatekkayıtbazındaçalışmakzorundaisekkullanabiliriz.
• Kodumuzdaperformansarttımakiçin SQL kullanmayaözengösterelim
;ÖzellikeExadatagibiyeniteknolojiler SQL
ileyazılankodlarınhızlarınıarttırmaktadır. PL/SQL
kullanandöngüiçindekayıtbazındaçalışnakodlar ; Exadata’ın Smart Scan
özelliğindefaydalanamazlar.
• Kayıtbazında ;Döngüiçindekodyazmakyerine; FORALL veya BULK
SELECT kullanarak BULK işlemleryapınız.
• Kodiçindefazlasayıdafonksiyonçağırmayınız. DUAL kullanmayınız.
• PL/SQL ‘iözellikle server ve business processing kodlamaiçinkullanınız.
Presentation seviyesindeveya validationyapmakiçin Java veya other
dillerikullanabilirsiniz.