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

ĐẶT SỐ KHOẢN khi sử dụng

Được rồi, bây giờ tôi đã hoàn thành nghiên cứu của mình, đây là thỏa thuận:

Trong giao thức TDS, SET NOCOUNT ON chỉ lưu 9 byte cho mỗi truy vấn trong khi văn bản "ĐẶT SỐ BẬT" chính nó là một con số khổng lồ 14 byte. Tôi từng nghĩ rằng 123 row(s) affected được trả về từ máy chủ ở dạng văn bản thuần túy trong một gói mạng riêng biệt nhưng không phải vậy. Trên thực tế, đó là một cấu trúc nhỏ được gọi là DONE_IN_PROC được nhúng trong phản hồi. Nó không phải là một gói mạng riêng biệt nên không lãng phí đường vòng.

Tôi nghĩ rằng bạn có thể tuân theo hành vi đếm mặc định hầu như luôn luôn mà không cần lo lắng về hiệu suất. Tuy nhiên, có một số trường hợp, trong đó việc tính toán số hàng trước sẽ ảnh hưởng đến hiệu suất, chẳng hạn như con trỏ chỉ chuyển tiếp. Trong trường hợp đó, NOCOUNT có thể là một điều cần thiết. Ngoài ra, hoàn toàn không cần phải tuân theo phương châm "sử dụng NOCOUNT bất cứ khi nào có thể".

Đây là phân tích rất chi tiết về tầm quan trọng của SET NOCOUNT cài đặt:http://daleburnett.com/2014/01/everything-ever-w being-know-set-nocount/



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách thêm cột được tính toán trong bảng SQL Server - Hướng dẫn SQL Server / T-SQL Phần 47

  2. Cách sử dụng thuật sĩ nhập / xuất trong SQL Server - Hướng dẫn sử dụng SQL Server / TSQL Phần 104

  3. Khắc phục sự cố khi làm việc với ngày và giờ trong SQL Server

  4. Tạo tài khoản thư cơ sở dữ liệu (SSMS)

  5. Sử dụng PIVOT trong SQL Server 2008