Về cơ bản, chúng tương đương với nhau (trên thực tế, đây là cách một số cơ sở dữ liệu triển khai DISTINCT
dưới mui xe).
Nếu một trong số chúng nhanh hơn, nó sẽ là DISTINCT
. Điều này là do, mặc dù cả hai đều giống nhau, nhưng trình tối ưu hóa truy vấn sẽ phải nắm bắt được thực tế là GROUP BY
của bạn không lợi dụng bất kỳ thành viên nhóm nào, chỉ lợi dụng chìa khóa của họ. DISTINCT
làm cho điều này rõ ràng, vì vậy bạn có thể sử dụng công cụ tối ưu hóa hơi dumber.
Khi nghi ngờ, hãy kiểm tra!