Курсорная пагинация в Laravel. CursorPaginate. Отличия и преимущества над классической пагинацией
Сегодня у нас интересная тема - мы рассмотрим курсорную пагинацию. Это высокопроизводительный способ разбиения на страницы, часто используется для больших объемов данных и как пример бесконечной прокрутки. Laravel с версии появился метод, необходимый для курсор пагинации. Давайте рассмотрим как он работает, зачем это нужно и в чем отличие от обычной pagination. Погнали!
#пагинация#laravel#cutcode
---------------------------------------------------------------------------------
❗️❗️❗️как делать сложные сайты на laravel? Это просто с cutcode!
Поддерживай мой проект -
Угостить меня кофе -
🤖🤖🤖Мой помощник Тэйлор готов выдать тебе подарок. Забирать тут -
---------------------------------------------------------------------------------
⏰ Таймкоды:
00:00 Введение
00:57 Как работает классическая пагинация
02:00 Как работает курсорная пагинация
04:05 Исследование Shopify и подведение итогов
Всех поклонников laravel я приветствую на канале Cutcode! Сегодня у нас рубрика “для тех, кто не знал“ в которой я буду давать небольшие советы либо демонстрировать фичи из мира laravel, lifefire и так далее. Кто-то мог о них не знать, а кому-то они даже надеюсь пригодятся. Не забудьте об этом поделиться в комментариях и обязательно поражать лайк - я буду крайне благодарен.
Сегодня у нас интересная тема, особенно для новичков, но и не только. Мы рассмотрим курсорную пагинацию. Это высокопроизводительный способ разбиения на страницы, часто используется для больших объемов данных и как пример бесконечной прокрутки. Laravel с версии появился метод, необходимый для курсор пагинации. Давайте рассмотрим как он работает, зачем это нужно и в чем отличие от обычной pagination. Погнали!
Итак друзья для начала давайте разберемся как работает классическая Laravel пагинация, да и любая другая pagination под капотом. У нас на старте есть таблица users. Относительно объёмная таблица - в ней как видите более ста тысяч записей. И у нас есть контроллер, где мы реализовали классическую Ларавел pagination через метод paginate, по 50 записей на страницу. Здесь у нас все просто: выводим пользователей на странице, отображаем е-мэйлы и также отображаем кнопки для pagination: следующая и предыдущая страница. Давайте откроем в браузере, посмотрим что у нас здесь есть и мы видим что классическая pagination выполнена на основе оффсетов, то есть запрос строится на основе оффсетов, если мы перейдем на следующую страницу, то мы увидим что у нас offset 50 - равный количеству сколько мы выводим пользователей на страницу и каждый раз у нас умножается на текущую страницу. И в последующем как мы видим у нас начальная страница - 1 выполняется крайне быстро, меньше чем 1 миллисекунда. Но если мы перейдем на страницу 1000 и у нас работает большой offset на 50 тысяч записей, то мы видим что такой запрос уже выполняется в разы дольше - 32 миллисекунды. Это связано с тем, что при офсетном подходе, при оффсете запросе также анализируется и предыдущие 50 тысяч записей. И такой подход является непроизводительным. Что же касается курсорной pagination. Давайте немножко изменим наш home контроллер - вызовем метод для курсорной пагинации. По вьюхе здесь все то же самое, те же самые методы поддерживаются.
---------------------------------------------------------------------------------
📹 делитесь этим видео с друзьями:
🔔 подпишитесь на YouTube-канал:
📼 Курс по Laravel с нуля:
Курсорная пагинация в Laravel. CursorPaginate. Отличия и преимущества над классической пагинацией
---------------------------------------------------------------------------------
🔗 наш сайт:
📷 наш instagram:
📱 Наш telegram-канал:
2 views
844
208
1 year ago 00:05:48 12
Курсорная пагинация в Laravel. CursorPaginate. Отличия и преимущества над классической пагинацией