根据MySQL性能维基的提示:
当您拥有或可以使用GROUP BY时,请勿使用DISTINCT.
有人可以发布可以使用GROUP BY而不是DISTINCT的查询示例吗?
如果您知道结果中的两列始终是直接相关的,那么执行此操作的速度会更慢:
SELECT DISTINCT CustomerId, CustomerName FROM (...)
Run Code Online (Sandbox Code Playgroud)
比这个:
SELECT CustomerId, CustomerName FROM (...) GROUP BY CustomerId
Run Code Online (Sandbox Code Playgroud)
因为在第二种情况下它只需要比较id,但在第一种情况下它必须比较两个字段.这是MySQL特有的技巧.它不适用于其他数据库.