Menguatkuasakan Had Masa Pelaksanaan Pertanyaan dalam MySQL
Soalan: Bolehkah saya mengkonfigurasi MySQL untuk menyekat masa pelaksanaan pertanyaan ?
Jawapan: Dari segi sejarah, MySQL tidak mempunyai mekanisme terbina dalam untuk mengehadkan masa pelaksanaan pertanyaan. Walau bagaimanapun, kemas kini terbaru MySQL 5.7 memperkenalkan pembayang pengoptimum MAX_EXECUTION_TIME.
Petunjuk Pengoptimum MAX_EXECUTION_TIME:
Setakat MySQL 5.7, anda boleh memasukkan pertanyaan MAX_EXECUTION_TIME TIME optimizer . Petunjuk ini mengarahkan pelayan untuk menamatkan pertanyaan jika ia melebihi had masa yang ditentukan.
SELECT * FROM table_name WHERE condition LIMIT 1 MAX_EXECUTION_TIME=10;
Tama Masa Seluruh Pelayan:
Jika anda memerlukan seluruh pelayan tamat masa atau perlu mengehadkan pertanyaan selain daripada SELECT, jawapan asal yang diberikan kekal sebagai pilihan terbaik anda.
Pendekatan Kerja Cron:
Jawapan asal mencadangkan menyediakan tugas cron yang secara berkala menyemak dan menamatkan sebarang pertanyaan yang melebihi had masa yang telah ditetapkan. Pendekatan ini melibatkan menjalankan langkah berikut:
Pertimbangan Tambahan:
Walaupun pembayang MAX_EXECUTION_TIME mudah, ia hanya digunakan pada pertanyaan SELECT dan tidak boleh dikuatkuasakan di peringkat pelayan. Pendekatan kerja cron menyediakan penyelesaian yang lebih mantap untuk menguatkuasakan had masa merentas semua jenis pertanyaan.
Atas ialah kandungan terperinci Bagaimanakah saya boleh mengehadkan masa pelaksanaan pertanyaan dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!