Question

Mon entente Le verrouillage optimiste est qu'il utilise un horodatage sur chaque enregistrement dans un tableau pour déterminer la "version" de l'enregistrement, de sorte que lorsque l'enregistrement est l'accès par plusieurs processus en même temps, chacun a une référence à la version de l'enregistrement.

Ensuite, lorsqu'une mise à jour est effectuée, l'horodatage est mis à jour. Avant qu'une mise à jour ne soit engagée, il lit l'horodatage sur l'enregistrement une 2ème fois. Si l'horodatage (version) qu'il a n'est plus l'horodatage de l'enregistrement (car il a été mis à jour depuis la première lecture), le processus doit relire l'enregistrement complet et appliquer la mise à jour de la nouvelle version.

Donc, si quelque chose que j'ai déclaré n'est pas correct, veuillez commencer par faire des clarifications pour moi. Mais, en supposant que je suis plus ou moins correct ici ...

Comment cela se manifeste-t-il réellement dans un SGBDR? Est-ce que cette 2e lecture / vérification est forcée dans la logique d'application (le SQL lui-même) ou est-ce un paramètre / configuration de réglage que le DBA fait?

Je suppose que je me demande d'où vient la logique pour lire l'horodatage et effectuer une 2ème mise à jour si l'horodatage est périmé. Je demande donc: le développeur d'application applique-t-il un verrouillage optimiste, ou est-il appliqué par le DBA? Quoi qu'il en soit, comment? Merci d'avance!

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
Non affilié à dba.stackexchange
scroll top