Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Интересует pagination с точки зрения нагрузки на БД.
имеем конструкцию вида $users = DB::table('users')->paginate(15);
Обращение к БД будет сразу ко всем $users? Или они будут подгружаться по переходу к новой странице?
При очень большом количестве $users не приведет ли такая конструкция к высокой нагрузке на сервер. И если да, как правильно ограничить запрос например 100-ми записями из БД?
DB::table('users')->take(100)->paginate(15); - вроде как не сработало.
Не в сети
paginate уже включает и take и skip. нагрузка самая обычная, как и при использовании LIMIT ... OFFSET в mysql. все записи не считываются, если использовать индексы. EXPLAIN на запрос показывает используются они или нет. если EXPLAIN говорит что там full scan - тогда да, mysql перебирает все записи.
Не в сети