Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

THỜI GIAN THỐNG KÊ trong SQL Server là gì?

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ệnh
Commands 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)

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Lưu trữ tệp trong SQL Server

  2. Làm cách nào để nối nhiều hàng có cùng id trong sql?

  3. Cách xem lịch sử truy vấn trong SQL Server Management Studio

  4. Tạo giá trị int ngẫu nhiên từ 3 đến 6

  5. 3 cách để có được ngày đầu tiên của tháng trong SQL Server