Hi,

On Feb 15, 2008 10:26 AM, Price, Randall <[EMAIL PROTECTED]> wrote:
> Since both of these work, I was wondering which one would be faster.
>
> Here is an EXPLAIN on a similar test I did on one of my test tables.
>
> (NO index on field1, WinXP, MySQL 5.0.41-community-nt, SQLyog query
> window)
>
>
>     SELECT COUNT(*) FROM tblClients
>     (1660 row(s) returned)
>     (0 ms taken)
>
> RESET QUERY CACHE
>
>     SELECT DISTINCT field1 FROM tblClients
>     (130 row(s) returned)
>     (0 ms taken)
>
>
>     EXPLAIN SELECT DISTINCT field1 FROM tblClients
>     /* 1457 rows, Using temporary */
>
>
> RESET QUERY CACHE
>
>     SELECT field1 FROM tblClients GROUP BY field1
>     (130 row(s) returned)
>     (16 ms taken)
>
>
>     EXPLAIN SELECT field1 FROM tblClients GROUP BY field1
>     /* 1457 rows, Using temporary; Using filesort */
>
>
> It appears that the SELECT DISTINCT did not have to use the filesort.
> So that should be faster, which confirms what I see here.

That's because MySQL automatically sorts GROUP BY queries by the
group-by columns.  If you add ORDER BY NULL, the two queries should be
exactly equivalent.  But I'd just use DISTINCT :-)

Baron

-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to