sql >> Databáze >  >> RDS >> PostgreSQL

Režim zamykání PostgreSQL

Je pravda, že INSERT , UPDATE nebo DELETE musí získat ROW EXCLUSIVE zámek na stole, který bude aktualizován.

Tento zámek však nebrání SELECT od normální práce. SELECT vyžaduje pouze ACCESS SHARE zámek. Tento zámek je kompatibilní s ROW EXCLUSIVE - jinými slovy, můžete perfektně spustit SELECT zatímco ostatní data jsou aktualizována pomocí INSERT , UPDATE nebo DELETE , pokud nezískáte žádné explicitní zámky.

Jinými slovy, při použití druhého přístupu byste nikdy neměli vidět žádná uváznutí (jen nepoužívejte SELECT FOR UPDATE a budete v pořádku).

Další informace naleznete v dokumentaci PostgreSQL .




  1. Enum datový typ versus tabulka dat v MySQL?

  2. Java/GWT/MySQL:připojení odmítnuto?

  3. mysql cpp konektor při připojování hází UnknownException

  4. dotaz mnohem pomalejší s readyStatement ve srovnání s příkazem