Да, все записи. При выполнении запроса MySQL выбирает все, а вот результат выдан будет только тот что указан в LIMIT. Поэтому запрос
select * from table limit 0, 50
будет выполнятся быстрее чем запрос
select * from table limit 50000 , 50
MySQL переберет и отбросит все записи таблицы до 50000 записи и только затем выдаст нужные 50.
Соответственно чем у вас в таблице больше записей и больше смещение, тем дольше будет выполнятся запрос.
Используйте ORDER BY совместно с LIMIT, это будет быстрее, как-то так:
select * from table
JOIN (select id from table order by id limit 50000, 50) as a ON table.id = a.id