Impostare "blocco attesa timeout" in MySQL


13

Dove impostare il tempo massimo in cui una query attende un blocco in MySQL 5.0.68 prima del timeout?

Risposte:


6

Altre impostazioni di timeout che sono generali (non solo per i blocchi, poiché innodb_lock_wait_timeout si applica solo ai blocchi di riga InnoDB) sarebbero wait_timeout e interactive_timeout (entrambi predefiniti a 28.800)



1

Se colpisci il timeout InnoDB di 50 secondi, hai un'applicazione mal progettata!

Quel timeout esiste per catturare cose cattive che non possono essere catturate in altro modo.


1
O a causa di errori, ho un server mysql e mariadb estremamente occupato e i deadlock sono una cosa normale che si verifica continuamente. Anche se "impossibile". Se hai un centinaio di milioni di righe e diecimila comandi sql ogni secondo, troverai tutti i tipi di bug in mysql (crash) e deadlock di vario tipo.
Giovanni,

1
Dipende dalla situazione. Dai documenti mysql: è possibile ridurre questo valore per applicazioni altamente interattive o sistemi OLTP, per visualizzare rapidamente il feedback degli utenti o inserire l'aggiornamento in una coda per l'elaborazione successiva. È possibile aumentare questo valore per operazioni di back-end a esecuzione prolungata, ad esempio una fase di trasformazione in un data warehouse che attende il completamento di altre operazioni di inserimento o aggiornamento di grandi dimensioni.
g4b0,

Verifica che l'applicazione sia mal costruita ... sì!
Noah Duncan,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.