Cara Melihat Query yang Sedang Berjalan di MySQL

Cara Install NixOS pada VPS Jetorbit - Panduan lengkap tutorial hosting dan server

Bagikan artikel ini 🫰🏻

Pernahkah kalian merasakan database MySQL tiba-tiba terasa berat tanpa alasan yang jelas? bisa jadi salah satu penyebabnya adalah query yang berjalan di background. Misalnya terdapat query yang berat dan tidak dioptimalkan dengan baik.

Oleh karena itu, penting bagi kita untuk mengetahui cara melihat query yang berjalan di MySQL. Dengan begitu kita bisa memantau aktivitas database, menemukan query berat yang menyebabkan performa lambat, sekaligus melakukan troubleshooting lebih cepat.

Mengapa perlu melihat query yang sedang berjalan

Melihat query yang sedang berjalan sangat penting untuk monitoring performa. Tidak semua query berjalan berjalan lancar, adakalanya query terasa lambar, stuck, bahkan error. Dengan memantau query yang sedang berjalan, seorang administrator dapat

  • Mengetahui aktifitas yang berjalan pada database.
  • Mengidentifikasi query yang bermasalah.
  • Menghentikan query yang membuat server lambat.
  • Troubleshooting lebih cepat dan tepat. 

Cara melihat query yang berjalan

  1. show full processlist

Perintah ini akan menampilkan seluruh koneksi(thread) yang sedang aktif, lengkap dengan query yang dijalankan dikolom info.

  1. SELECT * FROM information_schema.processlist

Perintah ini menghasilkan output yang mirip dengan SHOW FULL PROCESSLIST tapi lebih fleksibel karena hasilnya ditampilkan dalam bentuk tabel 

Keunggulannya kita bisa melakukan filter, disortir, atau diproses lebih lanjut saat memasukkan perintah.

  • ID : ID threads
  • USER : User yang menjalankan query
  • HOST : Dari host mana koneksi datang
  • DB : Database yang digunakan
  • COMMAND : Status koneksi
  • TIME : Lama koneksi berjalan
  • STATE : Status progress query
  • INFO : Query yang dijalankan

Contoh lainnya disini saya memasukkan perintah untuk menampilkan seluruh query yang bukan dari system_user dengan perintah

SELECT * FROM information_schema.processlist WHERE USER != ‘system_user’;

Mengurutkan query berdasarkan lama waktu berjalan

SELECT * FROM information_scheme.processlist ORDER BY TIME DESC;

  1. Menghentikan query yang bermasalah

Apabila terdapat proses yang berat maupun lambat kalian bisa menghentikan proses tersebut menggunakan perintah kill <id>. Untuk mengetahui id bisa dilihat pada tabel processlist.

Bermanfaatkah Artikel Ini?

Klik bintang 5 untuk rating!

Rata rata rating 0 / 5. Jumlah rate 0

No votes so far! Be the first to rate this post.

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?

Artikel Terkait

Leave a Reply

Your email address will not be published. Required fields are marked *