sql >> Databasteknik >  >> RDS >> Mysql

Varför använda SELECT FOR UPDATE?

SELECT ... FOR UPDATE kommer att låsa posten med ett skrivlås (exklusivt) tills transaktionen är slutförd (bekräftad eller återställd).

För att välja en post och se till att den inte ändras förrän du uppdaterar den, kan du starta en transaktion, välj posten med SELECT ... FOR UPDATE , gör lite snabb bearbetning, uppdatera posten och utför sedan (eller återställ) transaktionen.

Om du använder SELECT ... FOR UPDATE utanför en transaktion (autocommit PÅ), så kommer låset fortfarande att frigöras omedelbart, så se till att använda en transaktion för att behålla låset.

För prestanda, håll inte transaktioner öppna särskilt länge, så uppdateringen bör göras omedelbart.




  1. Unikt identifierande broschyrmarkörer

  2. Saker du måste veta om FND_LOBS Table i Oracle Apps

  3. Indexera en MySQL-databas med Apache Lucene och håll dem synkroniserade

  4. Gå igenom kolumner i RECORD