OVH Cloud OVH Cloud

Gestion de la concurrence

2 réponses
Avatar
olaf
Bonjour,

Je ne comprends pas bien le point suivant :
en multi-utilisateurs, si je d=E9clare une isolation=20
pessimiste au niveau de l'enregistrement et qu'un premier=20
utilisateur modifie une zone sur laquelle un 2=E8me fait =E0=20
son tour une demande de modif :
- est-ce que SQL g=E9rera tout seul "automatiquement"=20
l'attente de la lib=E9ration de l'enregistrement par le 1er=20
utilisateur, ou dois-je le g=E9rer par du code ?
- si oui, comment ?

Merci d'avance.

2 réponses

Avatar
Fred BROUARD
La gestion de la concurence est LE POINT le plus important spécifique aux SGBDR.
Si tu devais le gérer manuellement alors il n'y aurait aucun intérêt à utiliser
un SGBDR. Autant repasser à Cobol et les fichiers plats !

Déclarer une isolation pessimiste (SERIALIZABLE) pour modifier une ligne (les
enregistrements cela n'existe pas dans une base de données) est extrême, voire
dangereux en contexte de forte concurrence, sauf à modifier la valeur de la clef.

A lire :
Les transactions en général :
http://sqlpro.developpez.com/TECH/SQL_TEHC.html#TECH01
Les transactions dans MS SQL Server :
http://sqlpro.developpez.com/TransactSQL/SQL_MSTransactSQL.html#4.6

A +

olaf a écrit:
Bonjour,

Je ne comprends pas bien le point suivant :
en multi-utilisateurs, si je déclare une isolation
pessimiste au niveau de l'enregistrement et qu'un premier
utilisateur modifie une zone sur laquelle un 2ème fait à
son tour une demande de modif :
- est-ce que SQL gérera tout seul "automatiquement"
l'attente de la libération de l'enregistrement par le 1er
utilisateur, ou dois-je le gérer par du code ?
- si oui, comment ?

Merci d'avance.



--
Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
************************ www.datasapiens.com *************************
Avatar
olaf
OK.

La réponse est claire et complète sur ton site.

Merci beaucoup.

-----Message d'origine-----
La gestion de la concurence est LE POINT le plus


important spécifique aux SGBDR.
Si tu devais le gérer manuellement alors il n'y aurait


aucun intérêt à utiliser
un SGBDR. Autant repasser à Cobol et les fichiers plats !

Déclarer une isolation pessimiste (SERIALIZABLE) pour


modifier une ligne (les
enregistrements cela n'existe pas dans une base de


données) est extrême, voire
dangereux en contexte de forte concurrence, sauf à


modifier la valeur de la clef.

A lire :
Les transactions en général :
http://sqlpro.developpez.com/TECH/SQL_TEHC.html#TECH01
Les transactions dans MS SQL Server :
http://sqlpro.developpez.com/TransactSQL/SQL_MSTransactSQL


.html#4.6

A +

olaf a écrit:
Bonjour,

Je ne comprends pas bien le point suivant :
en multi-utilisateurs, si je déclare une isolation
pessimiste au niveau de l'enregistrement et qu'un




premier
utilisateur modifie une zone sur laquelle un 2ème fait




à
son tour une demande de modif :
- est-ce que SQL gérera tout seul "automatiquement"
l'attente de la libération de l'enregistrement par le




1er
utilisateur, ou dois-je le gérer par du code ?
- si oui, comment ?

Merci d'avance.



--
Frédéric BROUARD, MVP SQL Server. Expert SQL /


spécialiste Delphi, web
Livre SQL - col. Référence :


http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros :


http://sqlpro.developpez.com
************************ www.datasapiens.com


*************************

.