Trong SQL Server, bạn có thể sử dụng SET STATISTICS IO
câu lệnh để tạo thông tin chi tiết về lượng hoạt động của ổ đĩa được tạo bởi câu lệnh T-SQL.
Trong các công cụ đồ họa như SSMS và Azure Data Studio, bạn có thể xem thông tin này trong Thông báo tab.
Ví dụ
Đây là một ví dụ đơn giản để chứng minh.
SET STATISTICS IO ON;
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;
Ban đầu, bạn có thể sẽ thấy kết quả truy vấn như bình thường:
Để xem kết quả của STATISTICS IO
, nhấp vào Tin nhắn tab:
Ví dụ này được thực hiện trong Azure Data Studio và đó là quy trình tương tự khi sử dụng SSMS. Tuy nhiên, các bước thực tế bạn cần sử dụng có thể phụ thuộc vào công cụ bạn sử dụng để kết nối với SQL Server.
Dưới đây là bản sao của STATISTICS IO
thông báo từ ảnh chụp màn hình ở trên:
(6 rows affected) Table 'Worktable'. Scan count 0, logical reads 0, physical reads 0, page server reads 0, read-ahead reads 0, page server read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob page server reads 0, lob read-ahead reads 0, lob page server read-ahead reads 0. Table 'Workfile'. Scan count 0, logical reads 0, physical reads 0, page server reads 0, read-ahead reads 0, page server read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob page server reads 0, lob read-ahead reads 0, lob page server read-ahead reads 0. Table 'StateProvinces'. Scan count 1, logical reads 2, physical reads 0, page server reads 0, read-ahead reads 0, page server read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob page server reads 0, lob read-ahead reads 0, lob page server read-ahead reads 0. Table 'Cities'. Scan count 1, logical reads 497, physical reads 0, page server reads 0, read-ahead reads 0, page server read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob page server reads 0, lob read-ahead reads 0, lob page server read-ahead reads 0. Total execution time: 00:00:00.027
Cách tắt tính năng này
Đặt STATISTICS IO
thành ON
ảnh hưởng đến tất cả các câu lệnh T-SQL tiếp theo cho đến khi nó bị tắt.
Để tắt nó, chỉ cần chạy lại bằng cách sử dụng OFF
thay vì ON
:
SET STATISTICS IO OFF;