Ver Mensaje Individual
  #5 (permalink)  
Antiguo 06/07/2014, 14:15
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Optimizar o disminuir el tiempo de ejecución de un update

La query es un UPDATE, y conforme el manual de referencia oficial (http://msdn.microsoft.com/es-AR/library/ms187373.aspx) cláusulas NOLOCK y READUNCOMMITTED no se deben usar en queries de tipo INSERT, UPDATE y DELETE:
Cita:
No se pueden especificar READUNCOMMITTED ni NOLOCK en tablas modificadas por operaciones de inserción, actualización y eliminación. El optimizador de consultas de SQL Server omite las sugerencias READUNCOMMITTED y NOLOCK de la cláusula FROM que se aplica a la tabla de destino de una instrucción UPDATE o DELETE.
En el mismo manual hay una interesante nota destacada que dice:
Cita:
En una versión futura de SQL Server se quitará el uso de las sugerencias READUNCOMMITTED y NOLOCK en la cláusula FROM que se aplican a la tabla de destino de una instrucción UPDATE o DELETE. Evite usar estas sugerencias en este contexto en el nuevo trabajo de desarrollo y planee modificar las aplicaciones que las usan actualmente.
Por lo demás, haceun un UPDATE masivo de una base en caliente, me parece algo extremadamente peligroso, que en todos los DBMS se desaconseja. Es preferible hacerlo off-line.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)