Question

Compte tenu de la déclaration de mise à jour suivante:

UPDATE @TableVariable
SET city = T2.city
FROM @TableVariable TV
INNER JOIN dbo.TABLE_1 T1 WITH (NOLOCK)
    ON  (TV.customer_id = T1.customer_id)
INNER JOIN dbo.TABLE_2 T2 WITH (NOLOCK)
    ON  (T1.address_id = T2.address_id)

Est-ce que les (NOLOCK) conseils sur TABLE_1 et TABLE_2 honoré?

Était-ce utile?

La solution

  

Est-ce que les (NOLOCK) conseils sur TABLE_1 et TABLE_2 honoré?

Oui, ils le feront.

Notez que, en général, ce comportement est très mal et si vous pensez que vous avez vraiment besoin de cela, très probablement, vous devriez revoir votre base de données et / ou application.

Quel est le but des conseils de NOLOCK? Pourquoi voulez-vous mettre à jour votre variable de table avec des données sales?

Autres conseils

indice nolock presque dans toute la productivité du serveur ÉTENDRA. Cependant (NOLOCK) indice peut être utilisé en toute sécurité lors de l'accès aux données est soit garantie enought à ne pas changer à ce moment (par exemple, une fois partie de données est affiché sur DB, il restera inchangé ou vous savez que la partie actuelle des données ne sera pas modifiée par d'autres utilisateurs) ou si elle n'a pas d'importance de prendre des données anciennes ou de nouvelles données (par exemple, certaines données changent souvent et en aucune façon il n'y a pas besoin d'enregistrer exactement le dernier). En autre façon, vous pouvez obtenir la divergence des données dans des tables différentes ...

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top