Perbarui
Mulai MySQL 5.7, Anda dapat menyertakan MAX_EXECUTION_TIME
petunjuk pengoptimal di SELECT
. Anda query untuk menginstruksikan server untuk menghentikannya setelah waktu yang ditentukan.
Sejauh yang saya tahu, jika Anda ingin menerapkan batas waktu di seluruh server, atau jika Anda peduli dengan kueri selain SELECT
s, jawaban asli masih merupakan satu-satunya pilihan Anda.
Jawaban asli
Tidak ada cara untuk menentukan waktu proses maksimum saat mengirim kueri ke server untuk dijalankan.
Namun, tidak jarang memiliki tugas cron yang berjalan setiap detik di server database Anda, menghubungkan dan melakukan sesuatu seperti ini:
- TAMPILKAN DAFTAR PROSES
- Temukan semua koneksi dengan waktu kueri lebih besar dari waktu maksimum yang Anda inginkan
- Jalankan KILL [id proses] untuk setiap proses tersebut