Mysql
P: MySQL w wersji <4 nie ma transakcji.
Jak mogę symulować ich działanie ?
Można ręcznie blokować tabele w bazie danych
poprzez
LOCK TABLE Document Id WRITE
a odblokować poprzez:
UNLOCK TABLES.
Trzeba uważać przy stałych procesach (np. FASTCGI)
i prawidłowo obsługiwać wyjątki inaczej może
niezamknięte połączenie skutecznie zablokować tabelę w bazie
jeśli nie obsłużymy wyjątku rzuconego po zablokowaniu tabli!
(...)
Nie ma bowiem łatwych odpowiedzi.
Nie istnieje nic takiego jak najlepsze
rozwiązanie - zarówno jeśli chodzi o
narzędzia,
jak i języki czy systemy operacyjne. Są
jedynie systemy, które mogą być bardziej
odpowiednie w konkretnych okolicznościach.
I tu właśnie do gry wchodzi pragmatyzm.
Nie należy przywiązywać się do żadnej
określonej metody, ale mieć na tyle rozległą
wiedzę i doświadczenie, by w danej sytuacji
wybrać dobre rozwiązanie.
(...)
Andrew Hunt, David Thomas
"Pragmatyczny Programista"