filas procesado de información estadística en SQL Server 2005
-
29-09-2019 - |
Pregunta
En Oracle, hay una vista denominada V $ SQLAREA que las listas de estadísticas sobre la superficie de SQL compartida y contiene una fila por cada cadena SQL. Proporciona estadísticas sobre las sentencias SQL que se encuentran en la memoria, analizada, y listo para su ejecución.
Hay una columna que -ROWS_PROCESSED sumas el número total de filas procesadas en nombre de esta instrucción SQL.
Estoy buscando información colateral en SQLSERVER 2005.
Me parecía en algunos de los DMV (como sys.dm_exec_query_stats), pero no he encontrado nada relacionado.
@@ ROWCOUNT no será útil para mí, como yo quiero que la información estadística incrementales que sumar la rows_processed de la CPU principales consultas de consumo / io / ejecución en la base de datos.
Le agradecería cualquier ayuda en lo que respecta al tema.
Gracias de antemano,
Roni.
vi que cuando consultar la siguiente consulta, recibo el plan de consulta en XML.
Dentro del código plan de XML, hay una parte "EstimateRows" con un número que se correlaciona con el número de filas de estimación de la consulta.
Estoy pensando en la opción de la columna SUBSTR query_plan es posible recuperar sólo la información anterior (a menos que lo encontraría en algunos sistemas vistas / tablas).
¿Dónde puedo encontrar el número real de filas de la consulta? Donde se almacena?
SELECT
case when sql_handle IS NULL
then ' '
else ( substring(st.text,(statement_start_offset+2)/2,
(case when qs.statement_end_offset = -1
then len(convert(nvarchar(MAX),st.text))*2
else statement_end_offset
end - statement_start_offset) /2 ) )
end as query_text ,
query_plan,
FROM sys.dm_exec_query_stats qs
CROSS APPLY sys.dm_exec_query_plan(qs.plan_handle)
cross apply sys.dm_exec_sql_text(sql_handle) st;
Solución
No hay un equivalente directo en especial para rowcounts Por lo que yo sé. Los DMV pertinentes seguimiento de costos IO que se utiliza para mostrar que faltan en un índice, más caro consultas, etc.
Esto le dará Estadisticas por instrucción SQL para las sesiones actuales. Tu caso es distinto:. Acabo de poner juntos en base a guiones que andan dando vueltas
SELECT
*
FROM
sys.dm_exec_query_stats QS
CROSS APPLY
sys.dm_exec_sql_text(sql_handle) ST
Mis guiones se basan en los enlaces I mencionado aquí
Otros consejos
Puede utilizar la variable de sistema @@ recuento de filas para saber el número de registros afectados por última afirmación.