mohammadjp
جمعه 11 اسفند 1391, 20:19 عصر
چطور میتوانم اماری از تعداد بار استفاده از هر استور پروسیجر در بانک را بدست اورم تا استور پروسیجرهای پرکاربرد را بیشتر بهینه سازی کنم
Hossein1429
سه شنبه 15 اسفند 1391, 09:39 صبح
سلام
با استفاده از Sql Profiler و لاگ كوئري هايي كه فراخواني ميشود ميتوانيد آمار تمام درخواست هاي SQL را بدست آوريد.:چشمک:
mohammadjp
سه شنبه 15 اسفند 1391, 10:25 صبح
پرس و جوی زیر کارا را انداخت
SELECT DB_NAME(st.dbid) DBName
,OBJECT_SCHEMA_NAME(objectid,st.dbid) SchemaName
,OBJECT_NAME(objectid,st.dbid) StoredProcedure
,max(cp.usecounts) execution_count
,sum(qs.total_elapsed_time) total_elapsed_time
,sum(qs.total_elapsed_time) / max(cp.usecounts) avg_elapsed_time
,sum(qs.total_worker_time) total_cpu_time
,sum(qs.total_worker_time) / (max(cp.usecounts) ) avg_cpu_time
,sum(qs.total_physical_reads) total_physical_reads
,sum(qs.total_physical_reads) / (max(cp.usecounts) ) avg_physical_reads
,sum(qs.total_logical_reads ) total_logical_reads
,sum(qs.total_logical_reads) / (max(cp.usecounts) ) avg_logical_reads
,sum(qs.total_logical_writes ) total_logical_writes
,sum(qs.total_logical_writes) / (max(cp.usecounts) ) avg_logical_writes
FROM sys.dm_exec_query_stats qs CROSS APPLY sys.dm_exec_sql_text(qs.plan_handle) st
join sys.dm_exec_cached_plans cp on qs.plan_handle = cp.plan_handle
where DB_NAME(st.dbid) is not null and (cp.objtype = 'proc')
group by DB_NAME(st.dbid),OBJECT_SCHEMA_NAME(objectid,st.db id), OBJECT_NAME(objectid,st.dbid)
order by sum(qs.total_elapsed_time) desc
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.