معلومات الإحصائيات التي تمت معالجتها في SQL Server 2005

StackOverflow https://stackoverflow.com/questions/4123268

سؤال

في Oracle ، هناك طريقة عرض تسمى V $ SQLAREA يسرد الإحصائيات على منطقة SQL المشتركة وتحتوي على صف واحد لكل سلسلة SQL. يوفر إحصائيات حول عبارات SQL الموجودة في الذاكرة ، محلية ، وجاهزة للتنفيذ.

هناك عمود واحد -Rows_procort الذي يلخص العدد الإجمالي للصفوف التي تمت معالجتها نيابة عن بيان SQL هذا.

أبحث عن معلومات جانبية في SQLServer 2005.

نظرت في بعض من DMV (مثل sys.dm_exec_query_stats) ، لكنني لم أجد أي شيء مرتبط.

لن يكون RowCount مفيدًا بالنسبة لي ، حيث أريد معلومات الإحصائيات الإضافية التي ستلخص الصفوف من أعلىل وحدة المعالجة المركزية/IO/التنفيذ في قاعدة البيانات.

سأكون أقدر أي مساعدة فيما يتعلق بالموضوع.

شكرا مقدما،

روني.


رأيت ذلك عندما أستفسر عن الاستعلام التالي ، أتلقى خطة الاستعلام في XML.

داخل رمز خطة XML ، هناك جزء "تقديرات" مع رقم يرتبط بعدد صفوف تقدير الاستعلام.

أفكر في خيار التقاط عمود 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;
هل كانت مفيدة؟

المحلول

لا يوجد معادل مباشر خاصة بالنسبة لـ Rowcounts على حد علمي. تكلفة DMVS ذات الصلة IO التي يتم استخدامها لإظهار الاستعلامات المفهرسة المفقودة ، وأغلى الاستفسارات وما إلى ذلك

هذا سوف يمنحك احصائيات لكل بيان SQL للجلسات الحالية. YMMV: لقد وضعته معًا استنادًا إلى البرامج النصية التي كنت أكذب حولها.

SELECT 
    *
FROM 
    sys.dm_exec_query_stats  QS
    CROSS APPLY 
    sys.dm_exec_sql_text(sql_handle) ST

تستند البرامج النصية الخاصة بي على الروابط المذكورة هنا

نصائح أخرى

يمكنك استخدام متغير النظام rowCount لمعرفة عدد السجلات المتأثرة بالبيان الأخير.

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