Oracleには、共有SQL領域の統計を一覧表示し、SQL文字列ごとに1行を含むV$SQLAREAというビューがあります。これは、メモリ内にあり、解析され、実行の準備ができているSQLステートメントに関する統計を提供します。
このSQLステートメントに代わって処理された行の総数を合計する1つの列-ROWS_PROCESSEDがあります。
SQLSERVER2005の販促資料情報を探しています。
一部のDMV(sys.dm_exec_query_statsなど)を調べましたが、関連するものは見つかりませんでした。
@@ ROWCOUNTは、データベース内の上位のcpu / io /execution消費クエリのrows_processedを合計する増分統計情報が必要なため、役に立ちません。
この件に関して何か助けていただければ幸いです。
前もって感謝します、
ロニ。
次のクエリをクエリすると、XMLでクエリプランを受け取ることがわかりました。
XMLプランコード内には、クエリの推定行数に相関する数値を持つ「EstimateRows」部分があります。
上記の情報のみを取得するためにquery_plan列をsubstrするオプションを考えています(一部のシステムビュー/テーブルで見つからない場合を除く)。
クエリの実際の行数はどこにありますか?どこに保管されていますか?
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;