В Oracle есть представление V $ SQLAREA, которое отображает статистику по общей области SQL и содержит одну строку на строку SQL. Он предоставляет статистику по операторам SQL, которые находятся в памяти, проанализированы и готовы к выполнению.
Существует один столбец -ROWS_PROCESSED, который суммирует общее количество строк, обработанных от имени этого оператора SQL.
Я ищу дополнительную информацию в SQLSERVER 2005.
Я заглянул в некоторые из DMV (например, sys.dm_exec_query_stats), но я не нашел ничего связанного.
@@ ROWCOUNT для меня не будет полезен, так как я хочу получить инкрементную статистическую информацию, которая будет суммировать строки_обработанные из самых высоких запросов на потребление ресурсов процессора / ввода / вывода в базе данных.
Буду признателен за любую помощь в этом вопросе.
Заранее спасибо,
Рони.
Я видел, что когда я запрашиваю следующий запрос, я получаю План запроса в XML.
Внутри кода плана XML есть часть "EstimateRows", число которой соответствует количеству строк оценки запроса.
Я подумываю о возможности подстановки столбца query_plan для получения только вышеуказанной информации (если я не найду ее в некоторых системных представлениях / таблицах).
Где я могу найти фактическое количество строк запроса? Где это хранится?
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;