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

Co jest lepsze — wcześniejsze zgłoszenie wyjątku lub sprawdzenie błędów

Powinieneś zastosować metodę „spróbuj i złap wyjątek”, ponieważ i tak musisz to zrobić.

Jeśli najpierw sprawdzisz, nic nie powstrzyma kogoś, kto wstawi wiersz dla tego użytkownika między czekiem a wstawieniem. W takim przypadku użytkownik będzie w tabeli, nawet jeśli czek go nie znalazł.

Brak możliwości uruchomienia sprawdzania i wstawiania w ramach jakiejś transakcji (aby nikt inny nie mógł w międzyczasie wstawić tego użytkownika). nie możesz być pewien, że bez wyjątku zadziała.

I chociaż wiele DBMS zapewnia wsparcie transakcyjne, nie znam żadnych który zablokuje wiersz, który musisz jeszcze wstawić :-)

Oczywiście, jeśli twoja aplikacja jest zaprojektowana w taki sposób, że tylko twój proces będzie wstawiał użytkowników (i serializował), możesz użyć metody check-first. Ale zamieszczałbym obszerne komentarze, że będzie musiał zostać ponownie odwiedzony, jeśli kiedykolwiek zwiększysz skalę.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. dereferencja tablicy 2d postgres

  2. Błędy dwithin GeoDjango podczas korzystania z django.contrib.gis.measure.D

  3. Wyzwalacz wstawiania wierszy do zdalnej bazy danych po usunięciu

  4. Jak zmienić typ kolumny w Heroku?

  5. Osiąganie wysokowydajnych transakcji podczas rozszerzania PostgreSQL o funkcje C