2011-06-23 2 views

Répondre

1

Je ne suis pas sûr de ce que vous entendez par "SQL Server 2005 utilise le contrôle de concurrence pessimiste par défaut". IMO SQL Server 2005 nous fournit des outils qui nous permettent de mettre en œuvre nous-mêmes optimiste ou pessimiste. J'ai écrit quelques exemples sur simple-talk: Developing Modifications that Survive Concurrency

Modifier: Je ne pense pas que le comportement par défaut de SQL Server est exactement "contrôle de concurrence pessimiste". Considérons l'exemple simple suivant, qui se déroule sous le niveau d'isolement par défaut, LIRE ENGAGE:

-- Connection one 

BEGIN TRANSACTION; 

SELECT * FROM Schedule 
WHERE ScheduledTime BETWEEN '20110624 06:30:00' 
AND '20110624 11:30' ; 

-- Connection two 
UPDATE Schedule 
SET Priority = 'High' 
WHERE ScheduledTime ='20110624 08:45:00' 
-- nothing prevent this update from completing, 
-- so this is not exactly pessimistic 

-- Connection one 
DELETE FROM Schedule 
WHERE ScheduledTime ='20110624 08:45:00' ; 
COMMIT ; 
-- nothing prevents us from deleting 
-- the modified row 
+0

N'existe-t-il pas de contrôle de concurrence par défaut pour SQL Server 2005? Mais quand j'ai posé cette question explicitement ici: http://stackoverflow.com/questions/6459198/default-concurrency-control-for-sql-server-2005 On m'a dit que le défaut était le contrôle de concurrence pessimiste. La réponse est-elle fausse alors? –

2

Cela dépend entièrement de ce que votre application a besoin concurrency a. Si vous développez une application OLTP, pessiimistic serait probablement le meilleur ... Si vous développez une base de données mono-utilisateur, optimistic est correct.

+0

pouvez-vous répondre à ma 2ème partie de la question à savoir, est-il une raison particulière pour laquelle SQL Server 2005 utilise le contrôle d'accès concurrentiel pessimiste par défaut? Est-ce pour des raisons liées à la performance? Merci. –

+0

Pessimiste est "plus sûr" dans la mesure où vous n'aurez jamais de fautes de concurrence qui passeront inaperçues. C'est aussi plus lent. – therealmitchconnors

Questions connexes