Setiap statement SQL yang dieksekusi akan melalui tahapan parsing
(softer soft parse/soft parse/hard parse). Pada PL/SQL program setelah
di-compile akan disimpan dalam bentuk m-code dan DIANA. Perlu
diketahui bahwa saat eksekusi, tiap-tiap SQL yang berada dalam PL/SQL
tetap harus melalui tahapan parsing walaupun sudah disimpan dalam
compiled form tadi.

Kalau saya menjawab pertanyaan, apakah harus menggunakan SQL atau
PL/SQL, saya cenderung melihat konteks dari permasalahannya. Jika saya
dapat menyelesaikannya dengan SQL saja secara efisien maka SQL adalah
cara yang akan saya pilih. Sebaliknya saya akan menggunakan PL/SQL
atau kombinasi keduanya.

Sebagai contoh (ekstrim) jika saya harus memilih cara join dua table
berikut.

(1)
select * from a, b
where a.c1 = b.c1

(2)
for i in (select * from a) loop
  for j in (select * from b where c1 = i.c1) loop

Saya tentu akan memilih yang pertama karena Oracle lebih mengerti cara
apa yang akan digunakan untuk execution plan-nya. Sedangkan untuk yang
kedua, select terhadap table B ini akan dikerjakan sebanyak jumlah row
yang dihasilkan dari select table A, tidak perduli table A
mengembalikan row sebanyak apapun. Misalkan hash join jauh lebih
efisien untuk join kedua table tersebut, maka cara kedua tersebut
tidak dapat menggunakan hash join untuk execution plan-nya.


--- In [email protected], "Moch Firman N" <[EMAIL PROTECTED]>
wrote:
>
> Dear all...
> 
> *I have a comment for this statement :*
> > Setiap perintah SQL yang akan dieksekusi oleh database, harus
diperiksa
> > dan di compile dulu oleh database sebelum dieksekusi.
> 
> Mungkin statement di atas perlu di perjelas lagi,
> printah SQL mana yang akan di compile tersebut..
> Karna sepengetahuan sy,
> untuk printah SQL yg memakai BIND VARIABLE tidak perlu di compile
lagi....
> !!!
> 
> 
> best regards
> Piping..
> 
> 
> 2008/11/7 mohammad arief pradipto <[EMAIL PROTECTED]>
> 
> >   Terima kasih pak Privida.. Pencerahan buat saya juga ini..
> >
> >
> > On Fri, Nov 7, 2008 at 9:38 AM, Privida Kristiono
<[EMAIL PROTECTED]<privida%40yahoo.com>>
> > wrote:
> >
> > > Setiap perintah SQL yang akan dieksekusi oleh database, harus
diperiksa
> > > dan di compile dulu oleh database sebelum dieksekusi.
> > >
> > > Kalau kita kirim perintah SQL dari program aplikasi, maka
setelah sampai
> > di
> > > database perintah SQL tersebut akan melalui proses tersebut, dan ini
> > > memerlukan waktu (meskipun hanya sebentar).
> > >
> > > Berbeda dengan Stored Procedure atau Stored Function, yang
dibuat dan
> > > disimpan di database, pada saat disimpan keduanya dicompile dulu,
> > sehingga
> > > pada saat dipanggil untuk dieksekusi tidak perlu lagi dicompile
> > >
> > > Salam,
> > >
> > >
> > > --- On Thu, 11/6/08, musisi musisi
<[EMAIL PROTECTED]<tc2681_2006%40yahoo.com.sg>
> > <tc2681_2006%40yahoo.com.sg>>
> > > wrote:
> > >
> > > From: musisi musisi
<[EMAIL PROTECTED]<tc2681_2006%40yahoo.com.sg><tc2681_2006%
> > 40yahoo.com.sg>
> > > >
> > > Subject: [indo-oracle] SQL atau Procedure
> > > To: "Indo oracle"
<[email protected]<indo-oracle%40yahoogroups.com>
> > <indo-oracle%40yahoogroups.com>
> > > >
> > > Date: Thursday, November 6, 2008, 3:02 PM
> > >
> > >
> > > dear master,
> > > jika kita membuat suatu query yang akan di eksekusi lewat suatu
applikasi
> > > external (misal VB, Delphi), akan lebih cepat mana direct SQL atau
> > > dilewatkan suatu procedure/function dari segi waktu eksekusi dan
> > pemakaian
> > > memory .
> > >
> > > tolong penjelasannya
> > >
> > > New Email names for you!
> > > Get the Email name you&#39;ve always wanted on the new @ymail and
> > > @rocketmail.
> > > Hurry before someone else does!
> > > http://mail. promotions. yahoo.com/ newdomains/ sg/
> > >
> > > [Non-text portions of this message have been removed]
> > >
> > > [Non-text portions of this message have been removed]
> > >
> > >
> > >
> >
> > --
> > adipt
> > [EMAIL PROTECTED] <aa.adipt%40gmail.com>
> > 021 68 535 141
> > http://adipt.net/
> >
> > [Non-text portions of this message have been removed]
> >
> >  
> >
> 
> 
> [Non-text portions of this message have been removed]
>


Kirim email ke