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

