विस्तारित घटना अवधि मिलीसेकंड या माइक्रोसेकंड?


15

विस्तारित फोरम module_endअवधि इकाई के बारे में इस मंच में एक प्रश्न था , जिसका मैंने उत्तर दिया। यहाँ विवरण ।

क्या यह हमेशा सभी घटनाओं के लिए माइक्रोसेकंड में होता है?

जवाबों:


31

यह मिलिसकॉन्ड, माइक्रोसेकंड का मिश्रण है और कुछ अज्ञात हैं। सबसे आसान तरीका है जो मैंने निर्धारित करने के लिए tsql कोड के नीचे इस्तेमाल किया है जो यह निर्धारित करता है कि क्या है।

SELECT p.name package_name,
       o.name event_name,
       c.name event_field,
       DurationUnit= CASE
                         WHEN c.description LIKE '%milli%' 
                         THEN SUBSTRING(c.description, CHARINDEX('milli', c.description),12)
                         WHEN c.description LIKE '%micro%' 
                         THEN SUBSTRING(c.description, CHARINDEX('micro', c.description),12)
                         ELSE NULL
                     END,
       c.type_name field_type,
       c.column_type column_type
FROM sys.dm_xe_objects o
JOIN sys.dm_xe_packages p ON o.package_guid = p.guid
JOIN sys.dm_xe_object_columns c ON o.name = c.object_name
WHERE o.object_type = 'event'
AND c.name ='duration'

यहां SQL 2016 SP1 सर्वर से परिणाम सेट किया गया है। मैं केवल इसका हिस्सा पोस्ट कर रहा हूं। DurationUnit कॉलम को देखें और आप 3 अलग-अलग मान देख सकते हैं।

यहाँ छवि विवरण दर्ज करें

NULL वालों के लिए मुझे सबसे अच्छा विकल्प लगता है कि दौड़ना (यदि शुरू और अंत समय के साथ संभव हो) और यह ढूंढें कि इकाई क्या है।

मैंने vnext SQL Server के खिलाफ एक ही क्वेरी चलाई और पुष्टि की कि हम भविष्य के लिए एक ही भ्रम रखेंगे।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.