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

UNION so với DISTINCT về hiệu suất

Nó phụ thuộc vào truy vấn - mà không cần biết mức độ phức tạp của các truy vấn A, B hoặc C thì nó không phải là truy vấn có thể được trả lời, vì vậy cách tốt nhất của bạn là lập hồ sơ và sau đó đánh giá dựa trên đó.

Tuy nhiên ... Tôi có lẽ sẽ đi với một công đoàn bất kể:một chiếc bàn tạm thời có thể khá đắt tiền, đặc biệt là khi nó trở nên lớn. Hãy nhớ rằng với một bảng tạm thời, rõ ràng bạn đang tạo ra các hoạt động bổ sung và do đó nhiều i / o hơn để làm căng thẳng hệ thống con ổ đĩa. Nếu bạn có thể thực hiện một lựa chọn mà không cần dùng đến một bảng tạm thời, điều đó luôn (có thể) sẽ nhanh hơn.

Chắc chắn sẽ có một ngoại lệ (hoặc bảy) đối với quy tắc này, do đó, tốt hơn hết bạn nên lập hồ sơ dựa trên một tập dữ liệu thực tế lớn để đảm bảo rằng bạn có được một số số liệu chắc chắn để đưa ra quyết định phù hợp.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bảng tạm thời cục bộ và toàn cầu trong SQL Server

  2. Cách tắt tất cả Ràng buộc khóa ngoại trong Cơ sở dữ liệu SQL Server - Hướng dẫn SQL Server / TSQL Phần 77

  3. Nhận ngày cuối cùng của tháng trong SQL

  4. thay đổi bảng sau đó cập nhật trong một câu lệnh duy nhất

  5. SQL Server và mất kết nối khi đang giao dịch