Optimizar consultas SQL Server con problemas de CPU

Lo primero es identificar que consultas son las que requieren más CPU.
Se puede utilizar esta consulta donde execution_count son las veces que se ejecuta y total_cpu_time el tiempo necesitado, en el campo text tienes la consulta.

Fuente: LogicalRead

Otra opción es utilizar el “SQL Server Profiler” desde herramientas seleccionas “SQL Server Profiler”, te aparecerá para Conectar al Servidor de Sql server.
Y luego te aparece una pantalla para definir lo que deseas, puedes seleccionar en Usar la plantilla Standard, donde aparecerán todo tipo de eventos o sino “Tunning”

Prefiero seleccionar “Tunning indicar que solo quiero RCP:Completed y al menos añade la columna “CPU” para que te aparezcan las otras columnas selecciona “Mostrar todas las columnas”.

profiler

Te irá mostrado lo que se va ejecutando y el coste

ProfileQuery

Si pinchas sobre la fila en concreto te saldrá la consulta que se está ejecutando con un tiempo elevado de CPU.

Copia la consulta y vamos a realizar el plan de Ejecución.
Pincha a “Nueva Consulta”, pega la consulta y pincha sobre “incluir plan de ejecución actual”.
Ahora Ejecuta, cuando acabe en el plan te indicara si es necesario realizar algún cambio para mejorar su rendimiento CAST para hacer una conversión implícita de tipo, si te recomienda crear algún indice.
Y puedes ver donde esta el Costo en la consulta.

Estos son unos primeros pasos que pueden ayudar a mejorar el funcionamiento de tu servidor o detectar la consulta que está causando problemas.

Deja un comentario