Те са по същество еквивалентни един на друг (всъщност това е начинът, по който някои бази данни прилагат DISTINCT
под капака).
Ако един от тях е по-бърз, ще бъде DISTINCT
. Това е така, защото въпреки че двете са едни и същи, оптимизаторът на заявки ще трябва да улови факта, че вашият GROUP BY
не се възползва от никакви членове на групата, а само от техните ключове. DISTINCT
прави това изрично, така че можете да се разминете с малко по-тъп оптимизатор.
Когато се съмнявате, тествайте!