В некоторых случаях, когда
используется LIMIT # и не
используется HAVING, MySQL
будет выполнять запрос несколько
иначе:
Если при помощи LIMIT
выбираются только несколько
строк, MySQL будет использовать
индексы в тех некоторых случаях,
когда он обычно предпочел бы
делать полное сканирование
таблицы.
Если LIMIT # используется
с ORDER BY, MySQL закончит
сортировку, как только найдет
первые # строк, вместо
того, чтобы сортировать всю
таблицу.
При сочетании LIMIT # с
DISTINCT MySQL остановится,
как только найдет #
уникальных строк.
В некоторых случаях группировка
GROUP BY может быть
выполнена путем упорядоченного
считывания ключа (или путем
выполнения сортировки по ключу)
и последующего вычисления
итогового результата пока не
изменится значение ключа. В этом
случае LIMIT # не будет
вычислять какие-либо ненужные
предложения GROUP BY.
После того как MySQL пошлет первые
# строк клиенту, он
прервет выполнение запроса (если
не используется
SQL_CALC_FOUND_ROWS).
LIMIT 0 всегда будет
быстро возвращать пустую
выборку. Эта команда полезна для
проверки запроса и получения
типов столбцов результата.
Если сервер для выполнения
запроса использует временные
таблицы, LIMIT #
применяется для вычисления того,
сколько для них потребуется
места.
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.
