Actualmente estoy ejecutando la siguiente instrucción¿Qué está bloqueando "Seleccione top 1 * from TableName with (nolock)" para devolver un resultado?
select * into adhoc..san_savedi from dps_san..savedi_record
Se trata de tomar una dolorosamente mucho tiempo y me gustaría ver qué tan avanzado es así que corrí esto:
select count(*) from adhoc..san_savedi with (nolock)
Ese didn' t devuelve nada en el momento oportuno por lo que para el gusto de hacerlo lo hice:
select top 1 * from adhoc..san_savedi with (nolock)
Aun que parece funcionar indefinidamente. Podría entender si hay millones de registros que el recuento (*) podría llevar mucho tiempo, pero no entiendo por qué seleccionar el registro de la parte superior 1 no volvería casi inmediatamente, considerando que especifique nolock.
En nombre de la divulgación completa, dps_san es una vista que extrae de una conexión odbc a través del servidor vinculado. No creo que eso afecte el por qué no puedo regresar a la fila superior, sino simplemente tirarlo por si me equivoco.
Entonces, ¿quiero saber qué es lo que impide que esta declaración se ejecute?
EDIT:
Como he mencionado anteriormente, sí dps_san..savedi_record es una vista. Esto es lo que hace:
select * from DPS_SAN..root.SAVEDI_RECORD
No es nada más que un alias y no hace ninguna agrupación/clasificación/etc así que no creo que el problema radica aquí, pero por favor aclararme si estoy equivocado.
¿Qué hace la vista? Si realiza BYBs grupales, ORDER BYs o usa funciones agregadas, entonces podría ser que seleccionar la fila superior 1 sea casi tan costoso como seleccionarlos a todos. –
¿Estás seguro de que SELECT INTO ya ha escrito una sola fila en el disco? Tal vez todavía esté en modo de bloqueo de esquema porque todavía está esperando que ODBC entregue la primera fila desde su conexión vinculada. –
@ Aaronofertrand No, no estoy seguro. Sin embargo, puedo abrir otra ventana de consulta y seleccionar registros de dps_san..savedi_record todo lo que quiero y obtener resultados, por lo que sería extraño si no hubiera escrito ningún resultado hasta ahora (han sido más de 2 horas). –