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

myisam placere bordlås på bordet, selv når det drejer sig om 'vælg' forespørgsel?

MyISAM har forskellige slags låse. En SELECT handling placerer en LÆSELÅS på bordet. Der kan være flere aktive læselåse på et givet tidspunkt, så længe der ikke er nogen aktive SKRIVELÅSE . Operationer, der ændrer tabellen, f.eks. INSERT , UPDATE , DELETE eller ALTER TABLE placer en SKRIVELÅS på bordet. Skrivelås kan kun placeres på et bord, når der ikke er aktive læselåse; Hvis der er aktive læselåse, sætter MyISAM skrivelåsen i kø for at blive aktiveret, så snart alle aktive læselåse er udløbet.

Ligeledes, når der er en aktiv skrivelås, vil et forsøg på at placere en læselås på en tabel sætte låsen (og den tilknyttede forespørgsel) i kø, indtil skrivelåsene er udløbet på bordet.

I sidste ende betyder alt dette:

  • Du kan have et hvilket som helst antal aktive læselåse (også kaldet delte låse)
  • Du kan kun have én aktiv skrivelås (også kaldet en eksklusiv lås)

For mere information se:http://dev.mysql. com/doc/refman/5.5/en/internal-locking.html



  1. MySQL - Base64 vs BLOB

  2. Hvad betyder 'unsigned' i MySQL, og hvornår skal det bruges?

  3. MySQL-forespørgselscache:begrænset til en maksimal cachestørrelse på 128 MB?

  4. Hvilket er den bedste måde at tovejssynkronisere dynamiske data i realtid ved hjælp af mysql