![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 97 Pomógł: 0 Dołączył: 10.04.2002 Skąd: Pruszków Ostrzeżenie: (10%) ![]() ![]() |
Witam.
Temat był wałkowany wiele razy ale nie znalazłem informacji w 100% na moje nurtujące pytanie otóż. Mam tabelę o mechaniźmie składowania MyISAM i teraz: Do tabeli są dodawane (INSERT) lub modyfikowane (UPDATE) rekordy od wielu użytkowników dotyczące sessji połączenia. Chciałem wykonać skrypt ktory odpalany byłby za pomocą cron-a aby przenosił wpisy do tabeli archiwum gdy `czas_zakonczenia_sessji` is not null. A następnie w skasować przeniesione wiersze. Dlatego wykonuje zapytanie: 1) kopiuje wiersze do tabeli archiwum
2) kasuje wiersze z tabeli sesje
no ale co się stanie jeśli "jakiś" użytkownik zakończy sesje między zapytaniem 1 a 2. wtedy jego rekord nie zostanie skopiowany do archiwum ale już zostanie wykasowany przez zapytanie 2. co sprawi że dany rekord zniknie. i teraz wyczytałem, że istnieje taka możliwość jak blokowanie tabel na zapis. czyli przed pytaniem 1 blokowałbym tabele na zapis a po zapytaniu 2 bym już tabele odblokowywał. I tu jest moje pytanie. Co stanie się z zapytaniami na czas kiedy jest zablokowana tabela?? 1) Czy wykonają się one w kolejności zgłoszeń po odblokowaniu tabeli? 2) Czy też użytkownik otrzyma błąd iż tabela jest zablokowana i zapytanie się nie wykona? Osobiście zależało by mi na rozwiązaniu 1. Ponieważ nie mam możliwości w aplikacji użytkowników wysyłać powtórnie zapytanie gdy tabela jest zablokowana ![]() Za pomoc wszystkim z góry dziękuję. Ten post edytował rogeros 2.03.2012, 12:54:38 -------------------- Centrale telefoniczne VOIP - www.astrocom.pl
VOIP |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 24.06.2025 - 02:14 |