Mysql
 sql >> Baza danych >  >> RDS >> Mysql

innodb_lock_wait_timeout zwiększa limit czasu

Jeśli jest to aplikacja internetowa i próbujesz zawiesić transakcję między stronami, nie rób tego; to nie zadziała.

Co rozumiesz przez „tuż po”? Jeśli nic nie robisz między tymi dwoma instrukcjami, nawet 1 sekunda przerwy powinna być wystarczająco duża.

mysql> SET GLOBAL innodb_lock_wait_timeout = 1;
mysql> SELECT @@innodb_lock_wait_timeout;
+----------------------------+
| @@innodb_lock_wait_timeout |
+----------------------------+
|                         50 |
+----------------------------+
mysql> SET SESSION innodb_lock_wait_timeout = 1;
mysql> SELECT @@innodb_lock_wait_timeout;
+----------------------------+
| @@innodb_lock_wait_timeout |
+----------------------------+
|                          1 |
+----------------------------+

Aby wyjaśnić GLOBAL vs SESSION dla ZMIENNYCH:Wartość GLOBAL jest używana do inicjowania wartość SESSION po uruchomieniu połączenia. Następnie możesz zmienić wartość SESSION, aby wpłynąć na to, co robisz. A zmiana wartości GLOBALNY nie ma wpływu na Twoje bieżące połączenie.

Zmiana limitu czasu na 1 jest całkiem bezpieczna (kiedy zrozumiesz GLOBAL vs SESSION). Jedyną rzeczą, która się zmieni, jest częstotliwość pojawiania się tego błędu.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. php mysql Grupuj według, aby uzyskać najnowszy rekord, a nie pierwszy rekord

  2. Zapytanie, aby uzyskać najniższą wartość, która jest większa od zera, a nie jest NULL

  3. Projekt bazy danych dla systemu frekwencji w szkołach

  4. Konfiguracja Spring Boot Docker i Mysql

  5. odpowiednik pdo mysql_data_seek