Trong SQL Server, bạn có thể sử dụng SET STATISTICS TIME
để hiển thị thời gian cần thiết để thực thi một câu lệnh T-SQL.
Cụ thể hơn, nó trả về số mili giây cần thiết để phân tích cú pháp, biên dịch và thực thi mỗi câu lệnh.
Khi SET STATISTICS TIME
ON
, thống kê thời gian cho một câu lệnh được hiển thị. Khi OFF
, thống kê thời gian không được hiển thị.
Cài đặt SET STATISTICS TIME
được đặt ở thời gian thực thi hoặc chạy chứ không phải ở thời gian phân tích cú pháp.
Ví dụ
Đây là một ví dụ đơn giản để chứng minh.
SET STATISTICS TIME ON;
GO
SELECT
c.CityName,
s.StateProvinceName AS State,
c.LatestRecordedPopulation AS Population
FROM Application.Cities c
INNER JOIN Application.StateProvinces s
ON c.StateProvinceID = s.StateProvinceID
WHERE c.LatestRecordedPopulation > 2000000
ORDER BY c.LatestRecordedPopulation DESC;
GO
Kết quả:
Các lệnhCommands completed successfully. +-------------+------------+--------------+ | CityName | State | Population | |-------------+------------+--------------| | New York | New York | 8175133 | | Los Angeles | California | 3792621 | | Chicago | Illinois | 2695598 | | Brooklyn | New York | 2565635 | | Queens | New York | 2272771 | | Houston | Texas | 2099451 | +-------------+------------+--------------+ SQL Server parse and compile time: CPU time = 4 ms, elapsed time = 6 ms. Commands completed successfully.
Sử dụng GUI?
Nếu bạn đang chạy truy vấn của mình trong GUI như SSMS hoặc Azure Data Studio, bạn có thể cần nhấp vào Thông báo hoặc tương tự để xem thống kê thời gian.
Đây là những gì sẽ xảy ra khi tôi chạy truy vấn trước đó trong Azure Data Studio.
Tôi nhận được kết quả, nhưng không có STATISTICS TIME
thông tin. Để xem thông tin đó, tôi cần nhấp vào Tin nhắn . Sau khi làm xong, tôi có thể xem thông tin liên quan.
Truy vấn Tiếp theo
Sau khi được đặt thành ON
, mọi truy vấn tiếp theo sẽ trả về STATISTICS TIME
thông tin, cho đến khi nó được đặt thành OFF
.
Đây là một truy vấn đặc biệt khác mà tôi đã chạy trong giao diện dòng lệnh của mình ngay sau truy vấn đầu tiên.
SELECT COUNT(*) FROM Application.People;
Kết quả:
+--------------------+ | (No column name) | |--------------------| | 1111 | +--------------------+ SQL Server parse and compile time: CPU time = 6 ms, elapsed time = 6 ms.
Tôi đã đặt STATISTICS TIME
thành ON
trước đây, do đó không cần phải làm lại.
Tắt tính năng này
Để tắt nó, chỉ cần đặt nó thành OFF
.
SET STATISTICS TIME OFF;
Bây giờ, khi tôi chạy các câu lệnh T-SQL, tôi không còn nhận được thống kê thời gian trong truy vấn nữa.
SELECT COUNT(*) FROM Application.People;
Kết quả:
+--------------------+ | (No column name) | |--------------------| | 1111 | +--------------------+ (1 row affected)