Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 05.07.2015 19:03:51

Страничный вывод (pagination) и ограничение в запросе.

Интересует pagination с точки зрения нагрузки на БД.
имеем конструкцию вида $users = DB::table('users')->paginate(15);

Обращение к БД будет сразу ко всем  $users? Или они будут подгружаться по переходу к новой странице?

При очень большом количестве   $users не приведет ли такая конструкция к высокой нагрузке на сервер. И если да, как правильно ограничить запрос например 100-ми записями из БД?

DB::table('users')->take(100)->paginate(15); - вроде как не сработало.

Не в сети

#2 06.07.2015 07:27:52

Re: Страничный вывод (pagination) и ограничение в запросе.

paginate уже включает и take и skip. нагрузка самая обычная, как и при использовании LIMIT ... OFFSET в mysql. все записи не считываются, если использовать индексы. EXPLAIN на запрос показывает используются они или нет. если EXPLAIN говорит что там full scan - тогда да, mysql перебирает все записи.

Не в сети

Подвал раздела