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

SQL kết hợp với truy vấn con SQL (Hiệu suất)?

Tôi mong muốn truy vấn đầu tiên sẽ nhanh hơn, chủ yếu là vì bạn có một hàm tương đương và một THAM GIA rõ ràng. Theo kinh nghiệm của tôi IN là một toán tử rất chậm, vì SQL thường đánh giá nó là một chuỗi WHERE các mệnh đề được phân tách bằng "OR" (WHERE x=Y OR x=Z OR... ).

Tuy nhiên, đối với TẤT CẢ NHỮNG ĐIỀU trong SQL, số dặm của bạn có thể thay đổi. Tốc độ sẽ phụ thuộc rất nhiều vào chỉ mục (bạn có chỉ mục trên cả hai cột ID không? Điều đó sẽ giúp ích rất nhiều ...) trong số những thứ khác.

Cách THỰC SỰ duy nhất để biết chắc chắn 100% cái nào nhanh hơn là bật theo dõi hiệu suất (Thống kê IO đặc biệt hữu ích) và chạy cả hai. Đảm bảo xóa bộ nhớ cache của bạn giữa các lần chạy!



  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ó cần khôi phục lại nếu truy vấn được hoàn thành với lỗi không?

  2. Chọn các hàng trên cùng cho đến khi giá trị trong cột cụ thể xuất hiện hai lần

  3. Cách gọi dịch vụ web từ thủ tục được lưu trữ trên SQL Server

  4. Tách các giá trị được phân tách trong một cột SQL thành nhiều hàng

  5. Trả về giá trị từ câu lệnh INSERT trong SQL Server 2008