Set "lock wait timeout" di MySQL

13

Di mana saya akan menetapkan waktu maksimum permintaan akan menunggu kunci di MySQL 5.0.68 sebelum waktu habis?

Gayus
sumber

Jawaban:

6

Pengaturan batas waktu lain yang umum (tidak hanya untuk kunci, karena innodb_lock_wait_timeout hanya berlaku untuk kunci baris InnoDB) akan menjadi wait_timeout dan interactive_timeout (keduanya default ke 28.800)

Derek Downey
sumber
8

Secara default, ini adalah 50 detik

Cukup atur innodb_lock_wait_timeout sesuai kebutuhan.

RolandoMySQLDBA
sumber
1

Jika Anda mencapai batas waktu InnoDB 50 detik, Anda memiliki aplikasi yang dirancang dengan buruk!

Timeout itu ada untuk menangkap hal-hal nakal yang tidak bisa ditangkap dengan cara lain.

Rick James
sumber
1
Atau karena kesalahan, saya memiliki server mysql dan mariadb yang sangat sibuk dan kebuntuan adalah hal yang normal terjadi setiap saat. Bahkan jika "tidak mungkin". Jika Anda memiliki seratus juta baris dan sepuluh ribu perintah sql setiap detik, Anda akan menemukan semua jenis bug di mysql (crash) dan juga deadlock dari berbagai jenis.
John
1
Itu tergantung pada situasi. Dari dokumen mysql: Anda dapat mengurangi nilai ini untuk aplikasi yang sangat interaktif atau sistem OLTP, untuk menampilkan umpan balik pengguna dengan cepat atau memasukkan pembaruan ke dalam antrian untuk diproses nanti. Anda dapat meningkatkan nilai ini untuk operasi back-end yang berjalan lama, seperti langkah transformasi di gudang data yang menunggu untuk penyisipan besar lainnya atau memperbarui operasi untuk menyelesaikan.
g4b0
Memeriksa aplikasi yang dibangun dengan buruk ... ya!
Noah Duncan