Du letar efter namngivna lås (försiktiga, farliga saker, kom inte runt med att experimentera med lås på produktionsservrar :D).
Ta en titt på:
A1 :Välj en unik sträng att låsa på och använd GET_LOCK på den (säg, GET_LOCK('conversation_' || [id]); om den returnerar 1 låset är ditt. Gör vad du vill och ring sedan RELEASE_LOCK (med hänsyn till alla möjliga scenarier, inklusive fel).
A2 :Den andra parametern för GET_LOCK är en timeout på sekunder . Om åtgärden timeout GET_LOCK returnerar 0 .
Från den officiella dokumentationen
Fet fet är min:
- Betyder att du bara kan hålla ett lås per anslutning (inte ett problem för ditt användarfall)
- Betyder att lås släpps när du stänger anslutningen
- Betyder att två olika anslutningar (även från samma pool) kanske inte får samma utseende på en gång.