Trong SQL Server, bạn có thể sử dụng XML SET STATISTICS XML
để tạo ra thông tin chi tiết về cách một câu lệnh T-SQL được thực thi.
Thông tin này được cung cấp dưới dạng một tài liệu XML được định dạng tốt.
Sau khi SET STATISTICS XML
được đặt thành ON
, mỗi câu lệnh tiếp theo được phản ánh trong đầu ra bởi một tài liệu XML.
Mỗi tài liệu XML chứa văn bản của câu lệnh, sau đó là các chi tiết của các bước thực thi.
Kết quả hiển thị thông tin về thời gian chạy, chẳng hạn như chi phí, chỉ mục được truy cập và loại hoạt động được thực hiện, thứ tự tham gia, số lần một hoạt động vật lý được thực hiện, số hàng mà mỗi nhà điều hành vật lý tạo ra, v.v.
Ví dụ
Đây là một ví dụ đơn giản để chứng minh.
SET STATISTICS XML 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;
Kết quả:
Khi bạn thực hiện việc này bằng công cụ đồ họa như SSMS hoặc Azure Data Studio (trong hình), bạn có thể sẽ thấy một kế hoạch truy vấn đồ họa giống như trong ảnh chụp màn hình.
Trong trường hợp này, bạn có thể nhấp vào các tab khác nhau để xem kết quả thực tế, cũng như các dữ liệu thống kê khác.
Đây là những gì sẽ xảy ra khi tôi nhấp vào Kết quả tab:
Trong trường hợp này, tôi có thể xem các kết quả thực tế, cùng với một hàng khác có Sơ đồ trình chiếu XML. Nhấp vào hàng đó sẽ mở tài liệu XML trong một cửa sổ mới:
Và đây là những gì sẽ xảy ra khi tôi nhấp vào Hoạt động hàng đầu tab:
Cách tắt tính năng này
Đặt STATISTICS XML
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 XML OFF;
STATISTICS XML
Thay thế STATISTICS PROFILE
Theo tài liệu của Microsoft, SET STATISTICS XML
nên được sử dụng thay vì SET STATISTICS PROFILE
.
LẬP HỒ SƠ THỐNG KÊ và ĐẶT THỐNG KÊ XML là bản sao của nhau. Trước đây tạo ra đầu ra dạng văn bản; cái sau tạo ra đầu ra XML. Trong các phiên bản tương lai của SQL Server, thông tin kế hoạch thực thi truy vấn mới sẽ chỉ được hiển thị thông qua câu lệnh SET STATISTICS XML, không phải câu lệnh SET STATISTICS PROFILE.
XML THỐNG KÊ so với Bao gồm Kế hoạch Thực thi Thực tế
Nếu Bao gồm kế hoạch thực thi thực tế được chọn trong SSMS, SET STATISTICS XML
không tạo ra đầu ra XML Showplan. Xóa Bao gồm kế hoạch thực thi thực tế trước khi sử dụng SET STATISTICS XML
.