SELECT и других запросов
EXPLAIN (получение информации о SELECT)SELECTWHEREDISTINCT
LEFT JOIN и RIGHT JOINORDER BYLIMITINSERTUPDATEDELETEBuy this Reference Manual in softcover from Barnes & Noble!
DISTINCT
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.
| Posted by on Tuesday July 30 2002, @7:12am | [Delete] [Edit] |
It would be useful to have a function returning an optimized query. Example:
OPTIMIZE_QUERY select distinct * from abc
would return:
select from abc group by (*)
So, one could enter optimized (faster!) queries.
Add your own comment.