Domanda

c'è un modo per dire al server sql di usare il suggerimento (nolock) o ogni selezione in una procedura memorizzata?

è piuttosto noioso aggiungerlo ad ognuno ogni selezione ....

È stato utile?

Soluzione 4

trovato questo ....

Come forzare il suggerimento nolock per gli accessi al server sql

sembra che il modo migliore per raggiungere questo obiettivo sia emettere un

IMPOSTA IL LIVELLO DI ISOLAMENTO DELL'OPERAZIONE LEGGI NON COMUNITO

qualsiasi altra idea ???

ps

un'altra domanda correlata ...

NOLOCK vs. Transaction Isolation Level

Altri suggerimenti

Come altri giustamente affermano, un globale (nolock) viene fatto usando READ UNCOMMITTED.

Tuttavia, prima di percorrere quella strada, vale la pena provare prima LEGGI IMPOSTAZIONE SNAPSHOT. Ciò significa che le tue letture non saranno bloccate da inserimenti / aggiornamenti in corso e significa che i dati non sono sporchi, ma non aggiornati.

Penso che sia quello che stai cercando ...

IMPOSTA IL LIVELLO DI ISOLAMENTO DELL'OPERAZIONE LEGGI NON COMUNITO

Desideri utilizzare la seguente sintassi :

IMPOSTA IL LIVELLO DI ISOLAMENTO DELL'OPERAZIONE LEGGI NON COMUNITO

L'ho trovato guardando il suggerimento sulla tabella NOLOCK che si trova qui . Il suggerimento della tabella WITH (NOLOCK) equivale all'impostazione del livello di isolamento da LEGGERE NON COMUNITATO. Ecco lo snippet di MSDN :

  

NOLOCK   È equivalente a READUNCOMMITTED. Per ulteriori informazioni, consultare READUNCOMMITTED più avanti in questo argomento.

Tuttavia, potresti finire con dati errati. Nel 2005, è preferibile utilizzare l'isolamento dello snapshot: " Quando l'isolamento dello snapshot aiuta e quando fa male " http://www.devx.com/dbzone/Article/32957

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top