![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 29.12.2005 Ostrzeżenie: (20%) ![]() ![]() |
Witam serdecznie
Niedawno otworzyłem portal, który w bardzo szybkim tempie rozpoczął sie rozwijać. I wraz z ubiegiem czasu pojawiły sie problemy. Po długich analizach zachowań doszedłem do wniosku, że problem pojawia się w transakcjach. Przedstawie prosty przykład: Jeśli użytkownik posiada punkty to ma mu jeden odjąć i coś wykonać.
W niektórych momentach dochodzi do sytuacji, w której dane elementy blokują sie, a mianowicie gdy chce wykonać zapytanie dotyczace tabeli `uzytkownicy`:
Otrzmuje blad:
Moje wnioski: Po wykonaniu LOCK IN SHARE nastepuje np. zerwanie polaczenia przez co skrypt w danym polaczeniu nie moze wykonać "COMMIT;" odblokowywujac w ten sposób blokade na element. Jakieś propozycje? Z góry dziękuję i pozdrawiam |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 224 Pomógł: 18 Dołączył: 4.02.2003 Skąd: Częstochowa Ostrzeżenie: (0%) ![]() ![]() |
Odświeżam bo mam taki sam problem. Czy ktoś zna powód dla którego MySQL blokuje tabele po zerwanym połączeniu tak że pomaga tylko restart silnika? Wg mnie powinien być jakiś mechanizm który po błędzie zwalniał by tabele, wszak transakcja zadziałała - pierwsze zapytania nie wykonały się jednak dalej baza staje się nieużyteczna z powodu w/w błędu.
-------------------- |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 05:01 |