DISTINCT преобразовывается
к GROUP BY для всех столбцов,
для DISTINCT в сочетании с
ORDER BY, помимо этого, во
многих случаях также требуется
временная таблица.
Если LIMIT # указывается
совместно с DISTINCT, MySQL
остановится, как только найдет #
уникальных строк.
Если не все столбцы и не во всех таблицах используются, MySQL прекратит сканирование неиспользуемых таблиц, как только найдет первое совпадение.
SELECT DISTINCT t1.a FROM t1,t2 where t1.a=t2.a;
В случае, если, предположим,
таблица t1 используется
перед t2 (это проверяется
при помощи EXPLAIN), MySQL
прекратит чтение в t2 (для
каждой отдельной строки из
t1), после того как найдет
первую строку в t2.
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.
© 1995-2005 MySQL AB. All rights reserved.
