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

Bộ lọc SQL tiêu chí trong tiêu chí nối hoặc mệnh đề where hiệu quả hơn

Tôi sẽ không sử dụng hiệu suất làm yếu tố quyết định ở đây - và thành thật mà nói, tôi không nghĩ có bất kỳ sự khác biệt nào về hiệu suất có thể đo lường được giữa hai trường hợp đó.

Tôi sẽ luôn sử dụng trường hợp số 2 - tại sao? Bởi vì theo ý kiến ​​của tôi, bạn chỉ nên đặt các tiêu chí thực tế thiết lập JOIN giữa hai bảng vào mệnh đề JOIN - mọi thứ khác thuộc về mệnh đề WHERE.

Chỉ là vấn đề giữ mọi thứ sạch sẽ và đặt mọi thứ ở nơi chúng thuộc về, IMO.

Rõ ràng, có những trường hợp với LEFT OUTER THAM GIA trong đó việc bố trí các tiêu chí tạo ra sự khác biệt về kết quả nhận được trả về - tất nhiên, những trường hợp đó sẽ bị loại khỏi đề xuất của tôi.

Marc



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. datetime so với smalldatetime trong SQL Server:Sự khác biệt là gì?

  2. Ứng dụng C # đa luồng với các lệnh gọi cơ sở dữ liệu SQL Server

  3. Làm cách nào để di chuyển một bảng vào một lược đồ trong T-SQL

  4. Hàm so với Thủ tục được lưu trữ trong SQL Server

  5. DATETIMEFROMPARTS () Ví dụ trong SQL Server (T-SQL)