:: DEVELOPER ZONE
В некоторых случаях, когда используется 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 #
применяется для вычисления того, сколько для них потребуется места.
© 1995-2005 MySQL AB. All rights reserved.