Hallo...

Hasil sql trace (tkprof) pada "query yang sama namun diambil pada
waktu yang berbeda" bisa berbeda, terutama yang berkaitan dengan
konsumsi resource (cpu, elapsed, disk). Ini wajar karena pada dua
waktu yang berbeda itu memang load database berbeda.

Misalkan yang pertama, database sedang sibuk, banyak query lain yang
sedang jalan. Sedangkan yang kedua, database tidak lagi sibuk. Tentu
saja, elapsed (lamanya proses) yang pertama lebih besar karena saat
itu resource sedang dipakai oleh proses yang lain juga.

Histogram adalah statistik yang menggambarkan distribusi nilai pada
suatu kolom. Histogram bermanfaat kalau nilai kolom itu tidak merata.
Contoh yang paling gampang adalah kolom gaji pada tabel pegawai. Tentu
saja lebih sedikit pegawai dengan rentang gaji tinggi.

Histogram dipakai oleh Oracle untuk menentukan apakah:
- Query ini optimalnya memakai index apa tidak
- Tabel-tabel yang mana yang perlu di-join terlebih dahulu

endpoint_number: Nilai batas dari rentang bucket
endpoint_value: Nilai batas dari rentang nilai kolom
Lebih jelasnya silahkan baca Reference di dokumentasi Oracle.


Salam,
Rohmad
http://rohmad.net/2008/05/27/petunjuk-memahami-database-oracle/



--- In [email protected], "Raudah Nasution" <[EMAIL PROTECTED]> wrote:
>
> Dear allÂ…
> 
> 
> 
> saya masih newbie ttg oracle. saat ini saya menggunakan oracle 10g. ada
> beberapa pertanyaan yang ingin saya tanyakan, mudah-mudahan dapat
membantu
> saya.
> 
> 
> 
>    1. saya sedang menganalisis query dengan menggunakan TKPROF.
> 
> tapi ada sedikit kendala, pada saat melakukan query kemudian saya
> menggunakan tools tkprof, hasil dari tkprof tsb berubah padahal
query nya
> sama.
> 
> 
> 
> Misal : saya lakukan query kemudian menggunakan tools tkprof, hasilnya :
> 
> 
> 
> select *
> 
> from dsn;
> 
> 
> 
> 
> 
> call     count       cpu    elapsed       disk      query    current
> rows
> 
> ------- ------  -------- ---------- ---------- ---------- ----------
> ----------
> 
> Parse        1      0.00       0.03          0          0          0
> 0
> 
> Execute      1      0.00       0.00          0          0          0
> 0
> 
> Fetch       87      0.00       0.05         14        102          0
> 1290
> 
> ------- ------  -------- ---------- ---------- ---------- ----------
> ----------
> 
> total       89      0.00       0.08         14        102          0
> 1290
> 
> 
> 
> kemudian saya lakukan query yang sama, hasilnya :
> 
> 
> 
> select *
> 
> from dsn;
> 
> 
> 
> 
> 
> call     count       cpu    elapsed       disk      query    current
> rows
> 
> ------- ------  -------- ---------- ---------- ---------- ----------
> ----------
> 
> Parse        1      0.00       0.00          0          0          0
> 0
> 
> Execute      1      0.00       0.00          0          0          0
> 0
> 
> Fetch       87      0.00       0.00          0        101          0
> 1290
> 
> ------- ------  -------- ---------- ---------- ---------- ----------
> ----------
> 
> total       89      0.00       0.00          0        101          0
>      1290
> 
> 
> 
> 
> hasil keduanya berbeda, kira-kira apa yang membuat hasilnya berbeda?
> 
> Apakah ada faktor-faktor lain yang membuat hasilnya berbeda?
> 
> 
> 
>    1. apa sebenarnya fungsi dari histogram?bagaimana menggunakannya?
> 
> Pada saat
> 
> desc user_histograms;
> 
> 
> 
> ada istilah endpoint_number dan endpoint_value, apa fungsi dari kedua
> istilah tsb dan bagaimana cara membaca hasil dari histogram?
> 
> 
> 
> Sekian dulu pertanyaan dari saya, sebelumnya terima kasih atas
jawabannya.
> 
> 
> 
> Salam.
> 
> Raudah

Kirim email ke