sql >> Database >  >> RDS >> PostgreSQL

Wat is beter - Een uitzondering maken of vooraf controleren op fouten

U moet de "try-and-catch-uitzondering"-methode gebruiken, simpelweg omdat u het toch moet doen.

Als u eerst controleert, is er niets dat iemand ervan weerhoudt een rij voor die gebruiker in te voegen tussen uw cheque en uw invoeging, in welk geval de gebruiker in de tabel zal staan, ook al heeft uw cheque deze niet gevonden.

Behalve het kunnen uitvoeren van de check-and-insert binnen een soort transactie (zodat niemand anders die gebruiker tussentijds kan invoegen). je kunt er niet zeker van zijn dat de niet-uitzondering zal werken.

En hoewel veel DBMS' transactieondersteuning bieden, ken ik er geen dat zal een rij vergrendelen die je nog moet invoegen :-)

Als uw applicatie zo is ontworpen dat alleen uw proces gebruikers invoegt (en geserialiseerd), kunt u natuurlijk de check-first-methode gebruiken. Maar ik zou overvloedige opmerkingen plaatsen met de strekking dat het opnieuw moet worden bekeken als je ooit opschaalt.



  1. Op rollen gebaseerd toegangscontrole maken in MongoDB

  2. Kan iemand mij helpen de betekenis van deze php-foutmelding te achterhalen?

  3. Galera Cluster Cloud-aanbiedingen vergelijken:deel één Amazon AWS

  4. Versleutel wachtwoord in R - om verbinding te maken met een Oracle DB met behulp van RODBC