Mengukur Kecepatan Query, Biasanya kita selalu mengukurnya dengan "rasa", berapa lama kita harus menunggu hingga hasil dari query yang kita jalankan muncul di layar.
Cara seperti ini merupakan cara tercepat yang dapat kita lakukan, terutama jika query sudah bercampur dengan coding aplikasi. Namun demikian, untuk lebih akuratnya, kita perlu menghitung waktu yang sebenarnya diperlukan untuk mengeksekusi suatu query.
Mengetahui Waktu Eksekusi
Setiap aplikasi database management menyediakan informasi berapa lama waktu yang diperlukan untuk mengeksekusi query, pada MySQL Wokbench dapat diketahui melalui panel Output yang ada di bagian bawah,
Pada gambar diatas terlihat bahwa waktu eksekusi query adalah 0.859 detik (Duration) sedangkan waktu untuk mengirim data dari server ke client dan menampikan data (Fetching) adalah 0.031 detik.
Fetch time ini dipengaruhi oleh koneksi netwok dan besarnya data (banyak nya baris dan kolom yang dihasilkan) semakin banyak, semakin lama fetch time nya.
Pada Heidi SQL, waktu yang diperlukan untuk melakukan eksekusi query dapat dilihat di panel bawah:
Pada gambar diatas, durasi untuk mengeksekusi query adalah 0.891 detik sedangkan waktu untuk mentransfer data (network) adalah 0.015 detik.
Terkait dengan optimasi perintah SQL, maka hanya waktu eksekusi query (Duration) yang kita bahas, sedang waktu untuk mentransfer data (fetch time dan network) tidak kita bahas, karena tidak ada hubungan nya dengan Query SQL. Intinya semakin sedikit baris yang dihasilkan semakin cepat waktu fetchtime dan duration, namun demikian, kondisi network juga tetap berpengaruh.
Untuk mempermudah memahami Duration time dan Fetching / Network time, dapat melihat ilustrasi gambar 2.3 yang ada di bab 2.
Selain menggunakan database manager, untuk mengukur kecepatan query, kita juga dapat menggunakan command prompt, misal seperti pada gambar
Pada gambar diatas, waktu yang diperlukan untuk menyelesaikan query hingga data selesai ditampilkan adalah 8.47 detik. Dengan demikian waktu tersebut bukan murni waktu eksekusi query.