215 votes

Effet de l’indicateur NOLOCK dans les instructions SELECT

Je suppose que la vraie question est :

Si je ne me soucie lectures incorrectes, sera l’ajout de l’indication avec (NOLOCK) pour une instruction SELECT affectent les performances de :

  1. l’instruction SELECT actuelle
  2. autres opérations sur la table donnée

Exemple :

312voto

tom.dietrich Points 3122

1) Oui

2) Oui

Nolock généralement (selon votre moteur DB) moyens de me donner de vos données, et je n'aime pas dans quel état elle est, et ne pas la peine de le tenir encore pendant que vous lisez. Il est tout à la fois plus rapide, moins de ressources, et de très très dangereux.

Si je peux vous donner juste une ligne de conseils - ne jamais faire une mise à jour ou effectuer quelque chose de critique du système basé sur des données provenant d'un NOLOCK lire, ou vous demandons juste pour faire mal à un moment ou à un autre.

65voto

Pittsburgh DBA Points 2342

NOLOCK rend la plupart des sélections rapides, en raison de l'absence de verrous partagés. En outre, l'absence de délivrance de l'serrures signifie que les écrivains ne sera pas entravé par votre SÉLECTION.

NOLOCK est fonctionnellement équivalent à un niveau d'isolation READ UNCOMMITTED. La principale différence est que vous pouvez utiliser NOLOCK sur certaines tables, mais pas d'autres, si vous choisissez. Si vous prévoyez d'utiliser NOLOCK sur toutes les tables dans une requête complexe, puis à l'aide de SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED est plus facile, parce que vous n'avez pas à appliquer l'astuce pour chaque table.

Voici des informations à propos de tous les niveaux d'isolement à votre disposition, ainsi que les indicateurs de table.

SET TRANSACTION ISOLATION LEVEL

Indicateur de Table (Transact-SQL)

7voto

StingyJack Points 10956

Il sera plus rapide car il n’a pas à attendre pour serrures

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X