Ustaw limit czasu oczekiwania blokady w MySQL


13

Gdzie mam ustawić maksymalny czas, przez który kwerenda będzie czekać na blokadę w MySQL 5.0.68 przed przekroczeniem limitu czasu?

Odpowiedzi:




1

Jeśli przekroczysz 50-sekundowy limit czasu InnoDB, masz źle zaprojektowaną aplikację!

Ten limit czasu istnieje, aby złapać niegrzeczne rzeczy, których nie można złapać w żaden inny sposób.


1
Lub z powodu błędów mam bardzo zajęty serwer mysql i mariadb, a zakleszczenia są normalną rzeczą, która zdarza się cały czas. Nawet jeśli „niemożliwe”. Jeśli masz sto milionów wierszy i dziesięć tysięcy poleceń SQL w każdej sekundzie, znajdziesz w mysql każdy błąd (awarie), a także różnego rodzaju zakleszczenia.
John,

1
To zależy od sytuacji. Z dokumentacji mysql: Możesz zmniejszyć tę wartość w przypadku wysoce interaktywnych aplikacji lub systemów OLTP, aby szybko wyświetlić opinie użytkowników lub umieścić aktualizację w kolejce do późniejszego przetworzenia. Możesz zwiększyć tę wartość w przypadku długotrwałych operacji zaplecza, takich jak krok transformacji w hurtowni danych, który czeka na zakończenie innych dużych operacji wstawiania lub aktualizacji.
g4b0

Sprawdzanie, czy aplikacja jest źle zbudowana ... tak!
Noah Duncan,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.