PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Właściwy sposób na wybór i aktualizację SQL

Po pierwsze, minimum powinieneś wykonać SELECT ... FOR UPDATE więc blokujesz wiersze przed innymi SELECT ... FOR [SHARE|UPDATE] dostęp. Musisz to zrobić w ramach transakcji i wstrzymać tę transakcję, dopóki nie zaktualizujesz ostatniego wiersza i commit .

Wiersze, które SELECT ... FOR UPDATE nie zablokowane względem normalnego SELECT; nadal są czytelne dla innych transakcji, które nie używają FOR UPDATE lub FOR SHARE .

Jeszcze lepiej, spróbuj przeformułować całość jako UPDATE ... FROM lub inna operacja oparta na zbiorach, w której wykonujesz całą pracę w jednym zapytaniu. Generalnie będzie działać znacznie lepiej niż SELECT ... FOR UPDATE po którym następuje strumień UPDATE s.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Opcje odzyskiwania po awarii dla PostgreSQL wdrożone w chmurze hybrydowej

  2. Dzielenie PostgreSQL przez zero przy zamówieniu

  3. Tworzenie kopii bazy danych w PostgreSQL

  4. Aktywna aktualizacja wszystkich pól JSON

  5. Jak uzyskać niestandardową kolejność sortowania dla zapytania składającego w Postgres