sql >> Database teknologi >  >> RDS >> Mysql

Dvale optimistisk låsning..hvordan virker det?

For at være præcis, mener du ikke optimistisk låsning, men optimistisk samtidighed (uden lås). Brug af et tidsstempel til version er kun til understøttelse af ældre databaser, fordi en moderne database (i det mindste teoretisk) kan arbejde hurtigere end dens nøjagtighed ved lagring et tidsstempel.

Brug af integer version egenskaben er meget enkel:

  • Ved indsættelse:Indstil version til 1
  • Ved opdatering og sletning:Forøg version med 1 og tilføj "hvor [email protected] " til hver sql-sætning. Returner antallet af ændrede poster. Kast en StaleObjectStateException, når antallet af ændrede poster er anderledes end forventet.

Personligt ville jeg ikke oprette to separate applikationer, der skriver de samme data i en ikke-legacy situation, fordi det betyder, at forretningslogik skal duplikeres og ændringer skal anvendes på to applikationer, også når ændringen kun er relevant for én af applikationerne.




  1. Reparation af datatab ved hjælp af logforsendelse med forsinket gendannelse

  2. Hvordan kombinerer man to rækker og beregner tidsforskellen mellem to tidsstempelværdier i MySQL?

  3. Hvilke effekter har det at bruge en binær kollation?

  4. Fremskynder indekser mere end> sammenligning i MySQL?