Курсорная пагинация в 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-канал:
Back to Top