sql >> Databasteknik >  >> RDS >> Mysql

Mysql läslås VÄLJ FÖR UPPDATERING

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:

  1. Betyder att du bara kan hålla ett lås per anslutning (inte ett problem för ditt användarfall)
  2. Betyder att lås släpps när du stänger anslutningen
  3. Betyder att två olika anslutningar (även från samma pool) kanske inte får samma utseende på en gång.


  1. Hur visar man sidnummer i rapporttexten för SSRS 2008 R2?

  2. com.mchange.v2.resourcepool.CannotAcquireResourceException:En ResourcePool kunde inte förvärva en resurs från sin primära fabrik eller källa

  3. Är det möjligt att ersätta Cloud SQL-proxy med Istio-proxy?

  4. Rails 3 - plötsligt väntande migreringsfel