Ambos son sintácticamente correctos.
NOLOCK se convertirá en el alias de table1.
CON (NOLOCK) a menudo se explota como una forma mágica de acelerar las lecturas de la base de datos, pero trato de evitar usarlo siempre que sea posible.
El conjunto de resultados puede contener filas que aún no se han confirmado, que a menudo se retrotraen posteriormente.
Un conjunto de error o resultado puede estar vacío, faltar filas o mostrar la misma fila varias veces.
Esto se debe a que otras transacciones están moviendo datos al mismo tiempo que lo está leyendo.
READ COMMITTED agrega un problema adicional donde los datos se corrompen en una sola columna donde varios usuarios cambian la misma celda simultáneamente.
También hay otros efectos secundarios que, en primer lugar, sacrifican el aumento de velocidad que esperaba obtener.
Ahora ya lo sabes, nunca más lo vuelvas a usar.
ok así que con (nolock) se ha convertido prácticamente en la nueva sintaxis a partir de sql 2005, aunque nolock en sí mismo todavía funciona. ¿es asi? – seenasan
sí, todavía funciona sin el "con", pero ha quedado obsoleto, lo que significa que no funcionará de esa manera muy probablemente en un lanzamiento en algún momento en el futuro (podría ser el próximo lanzamiento, podría ser el siguiente, podría ser 10 a partir de ahora) ... – chadhoc
también sobre inserción, actualización debe con (nolock) ser utilizado allí también como una norma de programación? – seenasan