2016-12-05 3 views
1

У меня есть один вопрос здесь относительно MySQL Limit.Событие с лимитом MySQL происходит, когда

  • скажем я получил один стол с 100 строк
  • затем после того, как я сделал операцию запроса (SELECT, WHERE, и т.д. и т.п.)
  • тогда я ограничить размер с LIMIT (10)

в этом случае MySQL извлекает 100 записей строк сначала, а затем разрезается только на размер 10 ИЛИ подсчитывает размер результата до 10, а затем прекращает получение оставшихся уже?

ответ

4

Давайте подумаем об этом логично, и, возможно, ответ станет очевидным. Представьте, что вы используете следующий запрос:

SELECT someCol 
FROM yourTable 
ORDER BY someCol 
LIMIT 10 

Это должно быть интуитивно понятным, что MySQL должен знать порядковый номер каждой записи в наборе результатов для того, чтобы быть в состоянии гарантировать, что 10 записей возвратили на самом деле первые 10 записей о том, какой будет весь результирующий набор.

Если MySQL должен был просто взять первые 10 записей, которые он набрал во время сканирования, тогда, как правило, он не может гарантировать возврат записей в соответствии с указанным вами заказом.

Смежные вопросы