Thời gian sự kiện kéo dài Millisecond hoặc microsecond?


15

Có một câu hỏi trong diễn đàn này về module_endđơn vị thời lượng Sự kiện mở rộng , mà tôi đã trả lời. Chi tiết tại đây .

Có phải luôn luôn tính bằng micro giây cho tất cả các sự kiện?

Câu trả lời:


30

Nó là sự pha trộn của Millisecond, microsecond và một số không xác định. Cách dễ nhất để tìm Tôi đã sử dụng bên dưới mã tsql để xác định đó là cái gì.

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'

Đây là tập kết quả từ máy chủ SQL 2016 SP1. Tôi chỉ đăng một phần của nó. Nhìn vào cột WeatherUnit và bạn có thể thấy 3 giá trị khác nhau.

nhập mô tả hình ảnh ở đây

Đối với những người NULL tôi thấy tùy chọn tốt nhất là chạy (nếu có thể với thời gian bắt đầu và kết thúc) và tìm đơn vị là gì.

Tôi đã chạy cùng một truy vấn đối với SQL Server vnext và xác nhận rằng chúng tôi sẽ mang cùng một sự nhầm lẫn cho tương lai.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.