Requête de mise à jour avec indication Nolock
Je suis en train de les mettre avec(NOLOCK) sur une requête de mise à jour:
UPDATE pth_patchLookup with(nolock) SET ScanDateTime = Getdate() WHERE RegID = 312
mais je reçois le message suivant :
NoLock hint is supported only with Select statement and not with update, insert and delete.
Est-il de toute façon ce que je peux appliquer un "NOLOCK" sur cette requête de mise à jour ?
Merci pour toute aide
- Généralement
(NOLOCK)
n'est normalement pas ce que vous voulez... il y a des effets secondaires qui pourraient vous surprendre.READ COMMITTED SNAPSHOT ISOLATION
pourrait faire un meilleur travail de vous donner ce que vous (probablement), mais cela nécessite des modifications de base de données. Voir ce post pour plus d'informations. - Qu'essayez-vous de réaliser?
- Il y a un blocage occring (Erreur SQL 1205) lorsqu'il y a plusieurs instances de la mise à jour de la table
- Je pense que vous voulez aller dans l'autre sens avec cette, plutôt que de ne pas indiquer de serrures, vous en voulez plus restrictive de serrures, de sorte que la deuxième mise à jour ne démarre pas jusqu'à ce que le premier a fini si il ya une chance d'affrontements. Cela va avoir des répercussions en termes de délais lors de l'attente pour d'autres transactions à s'engager, mais devrait réduire, si ce n'est l'arrêt complet de blocages.
- Une mise à jour sans un verrou est une contradiction dans les termes.
Vous devez vous connecter pour publier un commentaire.
(NOLOCK)
désactive les verrous partagés et pas des verrous exclusifs.vous pouvez utiliser le niveau d'isolation Read committed afin de placer un verrou exclusif sur les instructions select.
NoLock hint is supported only with Select statement and not with update, insert and delete.
NOLOCK est un select (seulement) de l'indice, et c'est bien une mauvaise habitude formulaire d'anciens programmeurs, car il était presque obligatoire dans SQL Server 7, mais depuis SQL Server 2000, il est plus inutiles.
L'astuce, en particulier, dites-le moteur de l'sélectionnez pouvez lire les lignes, même si c'est au milieu d'un uncommited transaction. Pour cette raison, vous pouvez faire l'expérience de sale ou de fantôme lit.
Je vous suggère fortement de lire sur les niveaux d'isolation de savoir comment satisfaire vos exigences en matière de système.
Et cela?
Fonctionne très bien pour moi.