Visa ett inlägg
Oläst 2010-11-11, 21:26 #1
hoover hoover är inte uppkopplad
Nykomling
 
Reg.datum: Jan 2004
Inlägg: 48
hoover hoover är inte uppkopplad
Nykomling
 
Reg.datum: Jan 2004
Inlägg: 48
Standard MySQL transaktion

Hej,
Jag ska hämta några rader från en tabell, och sedan utföra en del tidskrävande beräkningar på datan, och sedan stoppa tillbaks/uppdatera samma data till tabellen. Jag vill inte låsa tabellen under hela tiden som jag utför beräkningarna, och jag vill inte heller riskera att olika sessioner utför beräkningar på samma data. Mitt förslag på lösning är att använda en busy-flagga, på så sätt behöver jag endast låsa tabellen en kort tid...

Pseudokod:
1. Lås tabellen
2. Hämta rader som har busyflagga = 0
3. Uppdatera hämtade raders busyflagga till 1
4. Öppna tabellen
5. Utför de tidskrävande beräkningarna
6. Uppdatera raderna med ny data, samt sätt busyflaggan till 0

Mina frågor är
- Är detta "rätt" sätt att lösa problemet?
- Hur gör jag för att låsa en MySQL tabell med php?
hoover är inte uppkopplad   Svara med citatSvara med citat