gpt4 book ai didi

mysql - MySQL 中的 SELECT DISTINCT 或 GROUP BY 哪个更快?

转载 作者:IT老高 更新时间:2023-10-28 12:48:12 25 4
gpt4 key购买 nike

如果我有一张 table

CREATE TABLE users (
id int(10) unsigned NOT NULL auto_increment,
name varchar(255) NOT NULL,
profession varchar(255) NOT NULL,
employer varchar(255) NOT NULL,
PRIMARY KEY (id)
)

我想获取 profession 字段的所有唯一值,什么会更快(或推荐):

SELECT DISTINCT u.profession FROM users u

SELECT u.profession FROM users u GROUP BY u.profession

?

最佳答案

它们本质上是等价的(实际上这就是一些数据库在底层实现 DISTINCT 的方式)。

如果其中一个更快,它将是 DISTINCT。这是因为,尽管两者是相同的,但查询优化器必须捕捉到您的 GROUP BY 没有利用任何组成员,而只是利用它们的键这一事实。 DISTINCT 明确说明了这一点,因此您可以使用稍微笨拙的优化器。

如有疑问,请测试!

关于mysql - MySQL 中的 SELECT DISTINCT 或 GROUP BY 哪个更快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/581521/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com