Memeriksa Waktu Eksekusi SQL Di Oracle TimesTen


Pada artikel sebelumnya, saya menuliskan bagaimana memantau kinerja database TimesTen melalui procedure di package TT_STATS.   Pada artikel ini, saya akan mencoba memeriksa kinerja eksekusi masing-masing SQL dengan menggunakan procedure bawaan TimesTen seperti ttStatsConfig, ttSQLCmdCacheInfo dan sebagainya.

Saya akan mulai dengan mengambil sampel untuk setiap eksekusi SQL di TimesTen dengan memberikan perintah berikut ini:

Memulai proses pengambilan sampel

Memulai proses pengambilan sampel

Pada anonymous PL/SQL di atas, saya mengaktifkan pengambilan sampel untuk setiap kali eksekusi SQL dengan memanggil ttStatsConfig("SQLCmdSampleFactor", 1).   Selain itu, saya juga menghapus statistik yang sudah diambil sebelumnya dengan memanggil ttStatsConfig("SQLCmdHistogramReset", 0).   Saya menentukan jenis statistik yang akan diambil dengan memanggil ttStatsConfig("StatsLevel", "TYPICAL").

Setelah mengaktifkan proses pengambil sampel, saya perlu menjalankan aplikasi dan melakukan operasi yang berkaitan dengan database di aplikasi saya.   TimesTen akan mengambil statistik untuk setiap SQL yang dikerjakan oleh aplikasi  secara otomatis.   Setelah selesai, saya mematikan aplikasi dan kembali ke SQL Developer.

Saya dapat menampilkan statistik yang telah terkumpul dengan memberikan perintah seperti berikut ini:

CALL ttSQLCmdCacheInfo;

Untuk melihat informasi khusus untuk SQL tertentu, saya dapat memanggil ttSQLCmdCacheInfo dengan melewatkan parameter berupa id dari perintah SQL tersebut, seperti yang terlihat pada gambar berikut ini:

Melihat statistik untuk SQL tertentu

Melihat statistik untuk SQL tertentu

Saya juga dapat memanggil ttSQLCmdCacheInfo2 yang menyediakan informasi tambahan berupa fetchCount, startTime, maxExecuteTime, lastExecuteTime, dan minExecuteTime.

Untuk melihat histogram yang menunjukkan persebaran waktu eksekusi untuk perintah SQL yang ada, saya memberikan perintah seperti yang terlihat pada gambar berikut ini:

Melihat histogram waktu eksekusi SQL

Melihat histogram waktu eksekusi SQL

Pada hasil di atas, terlihat bahwa terdapat 10.971 eksekusi SQL yang dikerjakan sejak saya memulai proses pengambilan sampel.   Total waktu yang dibutuhkan untuk mengerjakan seluruh SQL tersebut adalah 1,0693366 detik.   Dari seluruh SQL tersebut, terdapat 9.669 eksekusi yang membutuhkan waktu lebih dari 0,00001562 detik hingga 0,000125 detik.   Terdapat 1.207 eksekusi yang membutuhkan waktu lebih dari 0,000125 detik hingga 0,001 detik.   Dan seterusnya.

Berdasarkan hasil histogram, terlihat bahwa kebanyakan eksekusi SQL di aplikasi saya memiliki waktu eksekusi antara 0.00001563 detik hingga 0.000125 detik.   Tidak ada SQL yang waktu eksekusinya mencapai hingga 1 detik.   Ini adalah hasil yang cukup memuaskan mengingat isi tabel yang diproses adalah kumpulan transaksi jual beli selama beberapa tahun.

Perihal Solid Snake
I'm nothing...

One Response to Memeriksa Waktu Eksekusi SQL Di Oracle TimesTen

  1. Ping-balik: Memakai Full-Text Search Di MySQL Server | Programming Logic And Technology

Apa komentar Anda?

Please log in using one of these methods to post your comment:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: