944 063 154

Blog

Consultas SQL que más se ejecutan y el cpu que consumen

Publicado enGeneral en octubre 19, 2018 10:15 am
¿Quieres conocer las consultas SQL Server que más ejecuta tu servidor? En las tareas de administración de SQL Server, es necesario recabar información. Especialmente a fin de conocer las sentencias que más hacen trabajar al servidor.
SQL Server es un sistema que ayuda a la gestión de las bases de datos. Un producto de Microsoft que está basado en el modelo relacional. Pero, además, se utiliza para el rendimiento de instancias en el motor de la base de datos, depurar procedimientos o llevar a cabo pruebas de esfuerzo.
Lo habitual es que, entre las consultas más ejecutadas en SQL Server, se encuentren consultas de selección o básicas. Pero también pueden darse cualquiera de los otros tipos de consultas, como consultas de descripción, con predicado o de acción.

Las consultas sql más ejecutadas

Para conocer cuáles son las consultas que con mayor frecuencia se realizan en SQL Server basta con un script. Estas líneas de texto mostrarán, entre otras cosas, el top ten de las consultas que más veces se repiten. Es posible que, en muchos casos, éstas se repitan. Para evitar las duplicidades en las consultas, puedes utilizar servicios de caché. De esta forma, se mostrarán las consultas más ejecutadas sin repeticiones.


SELECT TOP 10
qs.execution_count,
SUBSTRING(qt.text,qs.statement_start_offset/2,
(case when qs.statement_end_offset = -1
then len(convert(nvarchar(max), qt.text)) * 2
else qs.statement_end_offset end -qs.statement_start_offset)/2)
as query_text,
qt.dbid, dbname=db_name(qt.dbid),
qt.objectid
FROM sys.dm_exec_query_stats qs
cross apply sys.dm_exec_sql_text(qs.sql_handle) as qt
ORDER BY
qs.execution_count DESC

En ocasiones, es posible que nuestro SQL Server tenga un gran consumo de CPU. Una buena forma de saber de dónde viene ese consumo excesivo de CPU es realizar consultas. De esta forma podremos saber cuáles son las que más sobrecargan, de media, nuestro servidor. Este consumo elevado de CPU en el servidor puede deberse a diferentes motivos; desde fallos en la memoria del servidor a espacio insuficiente. También es posible que esto se deba a la presencia de algún elemento malicioso que ejecuta demasiada actividad aunque ésta no sea visible.

En cualquier caso, el consumo de CPU es un aspecto que no debe descuidarse en un servidor. Ya que esto podría afectar al rendimiento del servidor y provocar, incluso, problemas de operatividad.

Consultas sql con mayor consumo de CPU

Para conocer dónde se encuentra el problema, podemos recurrir a un script. De esta forma podremos saber cuáles son las consultas con un consumo más elevado de CPU; y que pueden sobrecargar la CPU de nuestro servidor SQL.

SELECT TOP 10
qs.total_worker_time/qs.execution_count as [Avg CPU Time],
SUBSTRING(qt.text,qs.statement_start_offset/2,
(case when qs.statement_end_offset = -1
then len(convert(nvarchar(max), qt.text)) * 2
else qs.statement_end_offset end -qs.statement_start_offset)/2)
as query_text,
qt.dbid, dbname=db_name(qt.dbid),
qt.objectid
FROM sys.dm_exec_query_stats qs
cross apply sys.dm_exec_sql_text(qs.sql_handle) as qt
ORDER BY
[Avg CPU Time] DESC

Para mejorar aún más el rendimiento de tu servidor, puedes consultar cuáles son las consultas SQL Server que más se ejecutan. De esta forma, optimizarás al máximo el rendimiento de tu servidor. Un cambio que se reflejará en el comportamiento de los sitios web alojados en él.