no lock

23/01/2004 - 08:49 por Racsus | Informe spam
Hola

cuando lanzo una sentencia sql se genera un bloqueo por
defecto?

he de añadir NOLOCK a todas mis sentencias sql para no
bloquear?

gracias

Preguntas similare

Leer las respuestas

#1 Adrian Garcia
23/01/2004 - 20:10 | Informe spam
Solo puedes agregar NOLOCK en las sentencias SELECT.
Ahora, por un lado tendras un mejor rendimiento ya que NOLOCK no genera
locks compartidos, de rango de claves, etc. pero al mismo tiempo NOLOCK no
hace "honor" a ningun lockeo que tenga alguna fila al momento de leerlas.
Esto significa que puedes leer filas modificadas que esten en medio de una
transaccion y que luego la misma vuelva atras, dejandote a ti con valores de
lecturas no reales.
Con NOLOCK debes elegir entre mayor rendimiento y menor integridad.
Yo no lo utilizaria con todas las instrucciones SELECT.

Saludos
Adrian D. Garcia
NDSoft


"Racsus" wrote in message
news:2b3101c3e185$66a2c870$
Hola

cuando lanzo una sentencia sql se genera un bloqueo por
defecto?

he de añadir NOLOCK a todas mis sentencias sql para no
bloquear?

gracias
Respuesta Responder a este mensaje
#2 Miguel Egea
31/01/2004 - 17:14 | Informe spam
Buenas, los bloqueos no son malos, son necesarios, si en una conexión A
abres una transacción haces un Update por ejemplo en el que incrementas el
precio de tus productos un 20%, y en ese instante en otra conexión B se hace
un Select con la cláusula nolock, verás los precios modificados, si por lo
que sea inmediatamente después haces rollback en la conexión A, habrás
proporcionado tarifas que nunca existieron. Este es el riesgo de nolock, lo
adecuado es bloquear el menor tiempo posible. Revisa las prácticas de
creación y modificacio´n de sp's


=Miguel Egea
http://www.portalsql.com
Microsoft SQL-SERVER MVP.
Brigada Anti-Cursores
Aviso de Seguridad
http://www.microsoft.com/spain/tech...9-USER.asp
==
"Racsus" escribió en el mensaje
news:2b3101c3e185$66a2c870$
Hola

cuando lanzo una sentencia sql se genera un bloqueo por
defecto?

he de añadir NOLOCK a todas mis sentencias sql para no
bloquear?

gracias
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida