拥有OR哪里,性能更快?

时间:2013-07-04 09:41:13

标签: mysql sql

如果我使用'Have'作为'Where'(即没有group by子句), 你能告诉我哪一个更快“在哪里”或“拥有(如何)”? 我们更喜欢哪一个?

场景 - 我使用此条件使用纬度和经度查找特定距离的位置。

3 个答案:

答案 0 :(得分:4)

如果条件引用aggregate函数,请将该条件放在HAVING子句中。否则,请使用WHERE子句。

您可以使用HAVING,但建议您使用GROUP BY

SQL Standard表示WHERE在返回行之前限制结果集,HAVING在带来所有行之后限制结果集。所以WHERE更快。

答案 1 :(得分:1)

以下是HAVINGWHERE之间的区别: HAVING without GROUP BY 你不能一般地使用它,但是这个链接涵盖了它的全部内容

以下是关于他们速度的主题:Which SQL statement is faster? (HAVING vs. WHERE...)

答案 2 :(得分:0)

HAVING和WHERE的使用不可互换。它们涵盖了不同的主题,如果没有GROUP BY句子,HAVING似乎只等于WHERE