Query from a Stored Procedure taking more time

Hi,

Today I am posting a pretty useful query which is mostly required during the Optimization phase of the project.

Following query will return information about how much time each individual query within your stored procedures of a

specific database is taking and will help in analysis purpose.

Just run the below query on your database,

SELECT

      qs.total_elapsed_time / qs.execution_count / 1000000.0 AS average_seconds,

      qs.total_elapsed_time / 1000000.0 AS total_seconds,

      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 individual_query,

      o.name AS object_name,

DB_NAME(qt.dbid) AS database_name

FROM

sys.dm_exec_query_stats qs

CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) as qt

LEFT OUTER JOIN sys.objects o ON qt.objectid = o.object_id

WHERE

      qt.dbid = DB_ID()

ORDER BY

      average_seconds DESC;

I would like to have feedback from my blog readers.

Please post your feedback, question, or comments about this article.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s