سؤال

بناء على الحصول على إحصائيات تنفيذ الاستعلام باستخدام هذه القطعة المفيدة للغاية من SQL التي تم الحصول عليها من هذا المنشور معظم الإجراءات المخزنة الأكثر تنفذ - فائض المكدس:

SELECT TOP 100
   qt.TEXT AS 'SP Name',
   SUBSTRING(qt.text, qs.statement_start_offset/2, CASE WHEN (qs.statement_end_offset = -1) THEN LEN(qt.text) ELSE (qs.statement_end_offset - qs.statement_start_offset)/2 END) AS actual_query,
   qs.execution_count AS 'Execution Count',
   qs.total_worker_time/qs.execution_count AS 'AvgWorkerTime',
   qs.total_worker_time AS 'TotalWorkerTime',
   qs.total_physical_reads AS 'PhysicalReads',
   qs.creation_time 'CreationTime',
   qs.execution_count/DATEDIFF(Second, qs.creation_time, GETDATE()) AS 'Calls/Second'
FROM sys.dm_exec_query_stats AS qs
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) AS qt
WHERE qt.dbid = (SELECT dbid
                FROM sys.sysdatabases
               WHERE name = 'BSP')
ORDER BY qs.total_worker_time/qs.execution_count DESC

كيف يمكنني مسح إحصاءات التنفيذ هذه تماما وتبدأ من الصفر؟

سيكون هذا مفيدا بشكل خاص لأن الأخطاء والاختبار قد تسبب في إجراءات يتم استدعاؤها بعدد كبير عادة من المرات وبالتالي تنشه مستويات الاستخدام الحقيقية.

هل كانت مفيدة؟

المحلول

DBCC FREEPROCCACHE
DBCC DROPCLEANBUFFERS
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top