sql server - ver - Consulta de ejecución lenta solo en mi máquina
ver consultas ejecutadas en sql server (2)
Estoy ejecutando una simple select * from table
consulta de select * from table
contra Microsoft SQL Server 2005. La tabla tiene aproximadamente 41000 registros con un índice agrupado PK y estoy usando la autenticación integrada de Windows.
Cuando ejecuto esto en mi máquina usando Microsoft SQL Server Management Studio, la consulta finaliza en aproximadamente 1h45m. He tratado de pasar de la cuadrícula a la salida de texto, ejecutándola desde la línea de comando usando
SQLCMD
también intenté ecutirDBCC USEROPTIONS
,DBCC DROPCLEANBUFFERS
,DBCC FREEPROCCACHE
antes de la consulta ... nada cambió la velocidad de la consulta.Cuando lo ejecuto desde la estación de trabajo de mi colega utilizando mis credenciales, la consulta se completa normalmente en muy poco tiempo. Si un colega ejecuta la consulta en mi estación de trabajo usando sus credenciales, la consulta es muy lenta, como se describió anteriormente.
Me estoy quedando sin ideas de cómo solucionar este problema. De alguna manera, el problema parece estar relacionado con mi máquina, pero no puedo entenderlo. Por favor, también considere lo siguiente:
- Revisé y me aseguré de que el seguimiento de ODBC no estuviera habilitado en mi máquina (Win7-64bit). He instalado herramientas de cliente de SQL Server con Microsoft Management Studio 2008 R2 y esto es lo que estoy usando para consultar la base de datos.
- También usé VS2010 para ejecutar la misma consulta sql y el resultado es idéntico.
- Ejecuto la consulta contra una copia de la misma tabla / base de datos pero en un servidor diferente y el problema persiste.
- Cuando ejecuto
select count(*) from table
, la consulta se completa normalmente sin demora. - Cuando ejecuto un seguimiento con SQL Server Profiler, la consulta es solo una consulta de larga ejecución: no puedo ver nada anormal.
- Cuando ejecuto la consulta en MS SQL Server Management Studio usando texto salido, puedo ver después del búfer inicial de aproximadamente 85 registros que los registros subsiguientes llegan en gran cantidad de aproximadamente 400 registros a la vez. Por ejemplo 85 -> 407 -> 804 -> 1210 -> 1605 -> 1897 -> 2161 -> 2753 -> 3051 -> 3342 -> 3676 -> 4002 etc. En comparación con la estación de trabajo coleagues donde se pueden ver los registros pintado como flujo continuo a medida que los datos llegan !?
- También comparé los planes de ejecución de consultas reales en mi máquina y el otro donde la consulta se ejecuta normalmente, parecen ser idénticos.
¿Alguien podría tener sentido qué podría estar yendo mal aquí? ¿Por qué ejecutar esto desde mi máquina es muy lento pero se ejecuta normalmente desde otra estación de trabajo? ... ¿Alguna acción sugerida para solucionar este problema?
¡Gracias a todos por adelantado!
¿Estás conectado a la red LAN? ¿Wifi? Verifique la latencia de su red, todo lo que ha proporcionado parece normal. Haga ping a su servidor de base de datos para verificar esto.
Lo siguiente que comprobaré es asegurarme de que no se ejecute nada más en el servidor o la base de datos en ese momento. Software antivirus, pruebas, cualquier cosa que pueda ralentizar la base de datos. Además, ¿está ejecutando esta consulta a través de la casilla virtual? Tome un plan de ejecución desde el servidor local y el cuadro remoto y compárelos uno al lado del otro. Deberían ser iguales. Si no lo son, sabes que hay un problema.
También verifique las opciones SET del usuario bajo las cuales cada conexión ejecutó su consulta. Eso puede tener un efecto. Si ninguno de estos resulta ser un problema, mi próxima suposición sería una falla de hardware o configuración
Encontré el problema: era una actualización del controlador del adaptador de red. Una vez que revertí el controlador, la consulta se ejecutó como se esperaba, ¡sin retrasos!
Me llevó un buen tiempo aclarar esto. Para el registro, mi tarjeta de red es "Intel (R) 82579LM Gigabit Network Connection", el controlador de red fraudulento vino a través de la actualización de Windows. Mi estación de trabajo es HP 8200 Elite. Después de que el controlador retrocedió, descargué el último controlador de red del sitio de soporte de HP y parece que esta es la solución: hasta ahora no tengo problemas con las consultas SQL de ejecución lenta :)