GELIŞTIRICILER IÇIN ORACLE 11G’DE ÖLÇEKLENEBILIR KOD GELIŞTIRME & YENI ÖZELLIKLER PART_1

23
Geliştiriciler için Oracle 11g’de Ölçeklenebilir Kod geliştirme & Yeni Özellikler

Transcript of GELIŞTIRICILER IÇIN ORACLE 11G’DE ÖLÇEKLENEBILIR KOD GELIŞTIRME & YENI ÖZELLIKLER PART_1

Page 1: 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

Page 2: GELIŞTIRICILER IÇIN ORACLE 11G’DE ÖLÇEKLENEBILIR KOD GELIŞTIRME & YENI ÖZELLIKLER PART_1

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ı

Page 3: GELIŞTIRICILER IÇIN ORACLE 11G’DE ÖLÇEKLENEBILIR KOD GELIŞTIRME & YENI ÖZELLIKLER PART_1

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ı

Page 4: GELIŞTIRICILER IÇIN ORACLE 11G’DE ÖLÇEKLENEBILIR KOD GELIŞTIRME & YENI ÖZELLIKLER PART_1

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

Page 5: GELIŞTIRICILER IÇIN ORACLE 11G’DE ÖLÇEKLENEBILIR KOD GELIŞTIRME & YENI ÖZELLIKLER PART_1

PL/SQL’de

Ölçeklenebilir

Kod Geliştirme Yöntemleri

Page 6: GELIŞTIRICILER IÇIN ORACLE 11G’DE ÖLÇEKLENEBILIR KOD GELIŞTIRME & YENI ÖZELLIKLER PART_1

Döngü içinde teker teker DML işleri yapmak yerine ; işleminizi tek bir komuta

indiriniz.

Page 7: GELIŞTIRICILER IÇIN ORACLE 11G’DE ÖLÇEKLENEBILIR KOD GELIŞTIRME & YENI ÖZELLIKLER PART_1

İç içe döngüler içinde teker teker DML işleri yapmak yerine ; işleminizi tek

bir komuta indiriniz.

Page 8: GELIŞTIRICILER IÇIN ORACLE 11G’DE ÖLÇEKLENEBILIR KOD GELIŞTIRME & YENI ÖZELLIKLER PART_1

İç içe döngüler içinde teker teker DML işleri yapmak Context Switch’e

neden olur.

Page 9: GELIŞTIRICILER IÇIN ORACLE 11G’DE ÖLÇEKLENEBILIR KOD GELIŞTIRME & YENI ÖZELLIKLER PART_1

Context Switch’i azaltmak için FORALL ve BULK SELECT kullanabiliriz.

Page 10: GELIŞTIRICILER IÇIN ORACLE 11G’DE ÖLÇEKLENEBILIR KOD GELIŞTIRME & YENI ÖZELLIKLER PART_1

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.

Page 11: GELIŞTIRICILER IÇIN ORACLE 11G’DE ÖLÇEKLENEBILIR KOD GELIŞTIRME & YENI ÖZELLIKLER PART_1

Lookup tablo kullanarak sabit bilgileri bellekte saklar ve bellekten

kullanabilirsiniz ( 10g yeni özellik).

Page 12: GELIŞTIRICILER IÇIN ORACLE 11G’DE ÖLÇEKLENEBILIR KOD GELIŞTIRME & YENI ÖZELLIKLER PART_1

Result Cache kullanarak sabit bilgileri bellekte saklar ve tekrar

kullanabilirsiniz ( 11g yeni özellik ).

Page 13: GELIŞTIRICILER IÇIN ORACLE 11G’DE ÖLÇEKLENEBILIR KOD GELIŞTIRME & YENI ÖZELLIKLER PART_1

SQL cümlelerinde DUAL kullanımını azaltmak CPU kullanımını düşürecektir.

Page 14: GELIŞTIRICILER IÇIN ORACLE 11G’DE ÖLÇEKLENEBILIR KOD GELIŞTIRME & YENI ÖZELLIKLER PART_1

SQL cümlelerinde gerekmedikçe DUAL Kullanmayınız.

Page 15: GELIŞTIRICILER IÇIN ORACLE 11G’DE ÖLÇEKLENEBILIR KOD GELIŞTIRME & YENI ÖZELLIKLER PART_1

Master-detay kayıt işlemlerinde bir komut ile Primary Key ‘i alabilirsiniz (

11g yeni özellik).

Page 16: GELIŞTIRICILER IÇIN ORACLE 11G’DE ÖLÇEKLENEBILIR KOD GELIŞTIRME & YENI ÖZELLIKLER PART_1

Conditional-Compilation ile bir kodda gereksiz kod parçalarını

kaldırabilirsiniz.

Page 17: GELIŞTIRICILER IÇIN ORACLE 11G’DE ÖLÇEKLENEBILIR KOD GELIŞTIRME & YENI ÖZELLIKLER PART_1

Fonksiyonel index kullanarak SQL leri hızlandırabiliriz.

Page 18: GELIŞTIRICILER IÇIN ORACLE 11G’DE ÖLÇEKLENEBILIR KOD GELIŞTIRME & YENI ÖZELLIKLER PART_1

Fonksiyonlarda Result-Cache kullanımı ile sabit değerleri bellekte tutabilir

ve hızlı erişebilirsiniz( 11g yeni özellik ).

Page 19: GELIŞTIRICILER IÇIN ORACLE 11G’DE ÖLÇEKLENEBILIR KOD GELIŞTIRME & YENI ÖZELLIKLER PART_1

Database Link yerine materilazed view kullanarak Network kullanımını ve

bağımlılığını azaltabiliriz.

Page 20: GELIŞTIRICILER IÇIN ORACLE 11G’DE ÖLÇEKLENEBILIR KOD GELIŞTIRME & YENI ÖZELLIKLER PART_1

Bind değişkenler kullanarak Parse işlemini azaltabilirsiniz . Böylece komutunuz

daha az CPU kullanacaktır.

Page 21: GELIŞTIRICILER IÇIN ORACLE 11G’DE ÖLÇEKLENEBILIR KOD GELIŞTIRME & YENI ÖZELLIKLER PART_1

Programlardaki commit atma sıklığını azaltarak, programları hızlandırabiliriz.

Page 22: GELIŞTIRICILER IÇIN ORACLE 11G’DE ÖLÇEKLENEBILIR KOD GELIŞTIRME & YENI ÖZELLIKLER PART_1

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.

Page 23: GELIŞTIRICILER IÇIN ORACLE 11G’DE ÖLÇEKLENEBILIR KOD GELIŞTIRME & YENI ÖZELLIKLER PART_1

Ö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.