Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 17789|Odpowiedź: 0

[Źródło] Przekroczony czas oczekiwania na zamkę; Spróbuj uruchomić transakcję od nowa

[Skopiuj link]
Opublikowano 13.03.2019 13:08:36 | | | |
Przekroczony czas oczekiwania na zamkę; Próba ponownego uruchomienia transakcji to czas oczekiwania na blokadę. Jest to spowodowane tym, że bieżąca transakcja czeka na zwolnienie zasobu blokady przez inne transakcje.



Obejście:

Wykonaj następujące polecenie w zapytaniu mysql

W rzeczywistości możemy użyć poniższych trzech tabel, aby poznać powody:

innodb_trx ## Wszystkie transakcje, które są obecnie realizowane
innodb_locks ## Obecnie występujący zamek
innodb_lock_waits ## Korespondencja oczekujących zamków

Wyniki są następujące:



Dowiedz się, jaki jest numer wątku mysql_thread_id z kilkoma innymi wątkami o innych parametrach

Wykonaj polecenie kill + numer wątku, aby go rozwiązać.

desc information_schema.innodb_locks;

Pole
Typ
Null
KluczDomyślnyUwaga
lock_id
varchar(81)
NIE
Identyfikacja zamka
lock_trx_id
Varchar(18)
NIE
ID transakcji, który jest właścicielem zamka
lock_mode
varchar(32)
NIE
Tryb blokady
lock_type
varchar(32)
NIE
Typ śluzy
lock_table
varchar (1024)
NIE
Zamknięty stół
lock_index
varchar (1024)
TAK
NULLIndeksy zablokowane
lock_space
bigint(21) bez podpisu
TAK
NULLNumer zablokowanej przestrzeni stołowej
lock_page
bigint(21) bez podpisu
TAK
NULLNumer zablokowanej strony
lock_rec
bigint(21) bez podpisu
TAK
NULLRekordowy numer zamka
lock_data
varchar(8192)
TAK
NULLDane zablokowane


desc information_schema.innodb_lock_waits

Pole
Typ
Null
KluczDomyślnyUwaga
requesting_trx_id
Varchar(18)
NIE
ID transakcji blokady żądania
requested_lock_id
varchar(81)
NIE
ID blokady żądania
blocking_trx_id
Varchar(18)
NIE
ID transakcji, który obecnie posiada zamek
blocking_lock_id
varchar(81)
NIE
Identyfikator zamka, który obecnie jest właścicielem zamka


desc information_schema.innodb_trx ;

Pole
Typ
Null
KluczDomyślnyExtraUwaga
trx_id
Varchar(18)
NIE
Identyfikator transakcji
trx_state
varchar(13)
NIE
Status transakcji:
trx_started
Datetime
NIE
0000-00-00 00:00:00godzinę rozpoczęcia transakcji;
trx_requested_lock_id
varchar(81)
TAK
NULLinnodb_locks.lock_id
trx_wait_started
Datetime
TAK
NULLMoment, w którym transakcja zaczyna oczekiwanie
trx_weight
bigint(21) bez podpisu
NIE
0#
trx_mysql_thread_id
bigint(21) bez podpisu
NIE
0Identyfikator wątku transakcji
trx_query
varchar (1024)
TAK
NULLSpecyficzne instrukcje SQL
trx_operation_state
varchar(64)
TAK
NULLAktualny status operacyjny transakcji
trx_tables_in_use
bigint(21) bez podpisu
NIE
0Ile tabel jest używanych w transakcji
trx_tables_locked
bigint(21) bez podpisu
NIE
0Ile blokad ma transakcja
trx_lock_structs
bigint(21) bez podpisu
NIE
0#
trx_lock_memory_bytes
bigint(21) bez podpisu
NIE
0Wartość pamięci zablokowanej na transakcję (B)
trx_rows_locked
bigint(21) bez podpisu
NIE
0Liczba wierszy zablokowanych przez transakcję
trx_rows_modified
bigint(21) bez podpisu
NIE
0Liczba linii, dla których transakcja została zmieniona
trx_concurrency_tickets
bigint(21) bez podpisu
NIE
0Liczba transakcji i faktur
trx_isolation_level
Varchar(16)
NIE
Poziom izolacji transakcji
trx_unique_checks
int(1)
NIE
0Czy to jest unikalne sprawdzenie
trx_foreign_key_checks
int(1)
NIE
0Czy sprawdzanie klucza obcego
trx_last_foreign_key_error
Varchar(256)
TAK
NULLBłąd klucza obcego na końcu
trx_adaptive_hash_latched
int(1)
NIE
0#
trx_adaptive_hash_timeout
bigint(21) bez podpisu
NIE
0#




Poprzedni:MySQL usuwa dane bez wejścia powoduje bardzo wolne optymalizacje
Następny:javaEE materiał wideo z października 2018
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com