Clause Having vs sous-requête

Je pourrais écrire une requête à l'aide d'une fonction d'agrégation de deux façons:

select team, count(min) as min_count
from table
group by team
having count(min) > 500

ou

select * 
from (
    select team, count(min) as min_count
    from table
    group by team
) as A
where A.min_count > 500

Sont là des avantages de performances de l'un et l'autre ou sont-ils fonctionnellement la même chose?

Plus important encore: ils Sont sémantiquement identiques?
avez-vous tester ou de révision du plan d'expliquer?
Pouvez-vous montrer le plan d'exécution de requête?
C'est une question qui doit être posée en termes de principes généraux. La mesure d'un seul cas n'est pas ce qui est demandé ici. Cela ne prouve rien sur les autres cas.
Vous semblez avoir omis certaines informations indispensables pour des questions de performances. Ce SGBD spécifique demandez-vous? Parce qu'il revient à la recherche à la mise en œuvre dans ce SGBD.

OriginalL'auteur ferics2 | 2012-10-17