Laravel Fast Paginate là gì?

Laravel Fast Paginate là một macro nhanh về phân trang offset/limit cho Laravel. Nó được sử dụng để thay thể paginate trong Laravel.
Package này sử dụng phương pháp SQL tương tự như "Deferred Joins" để đạt được Speedup.
Deferred Joins là một kỹ thuật trì hoãn quyền truy cập vào một cột được yêu cầu cho đến khi offset và limit được áp dụng.

Cài đặt Laravel Fast Paginate

Package hỗ trợ Laravel 8 và 9. (Laravel 8 phải từ 8.37 trở lên)
Bạn cài đặt Package Laravel Fast Paginate thông qua lệnh composer sau:

composer require hammerstone/fast-paginate

Cách sử dụng Laravel Fast Paginate

Bất cứ nơi nào bạn sẽ sử dụng cú pháp sau:

Model::query()->paginate();

Bạn có thể sử dụng phương pháp Laravel Fast Paginate để thay thế như sau:

Model::query()->fastPaginate();

Laravel Fast Paginate cũng hỗ trợ Relationships như sau:

User::first()->posts()->fastPaginate();

Trong README.md của Laravel Fast Paginate có nói rằng:

Không chắc rằng phương pháp này sẽ hoạt động kém hơn phương pháp truyền thống offset/limit. Mặc dù có thể, vì vậy hãy đảm bảo kiểm tra dữ liệu của bạn !!!

Dưới đây là một kết quả được cộng đồng sử dụng cho đến nay:

Trước khi sử dụng Sau khi sử dụng Link
30s 250ms Twitter
28s 2s Twitter
  Nhanh gấp 7.5 lần Twitter
1.1s 0.1s Twitter
20s 2s Twitter

Nếu bạn muốn tìm hiểu thêm về kỹ thuật được áp dụng trong package Laravel Fast Paginate, bạn hãy xem Efficient Pagination Using Deferred Joins của Aaron Francis.

Tài liệu tham khảo:
https://github.com/hammerstonedev/fast-paginate
https://aaronfrancis.com/2022/efficient-pagination-using-deferred-joins

CÓ THỂ BẠN QUAN TÂM

Laravel 9 REST API With Sanctum Authentication

Laravel 9 REST API With Sanctum Authentication

Laravel Sanctum Laravel Sanctum cung cấp một hệ thống authentication đơn giản cho các SPA, ứng dụng Mobile và API đơn giản sử dụng token. Sanctum cho phép ứng dụng của bạn phát hành các mã token...

Laravel Mail Sending Redirector Listener

Laravel Mail Sending Redirector Listener

Trong quá trình phát triển web, việc gửi email là một chức năng quan trọng để thông báo, đặt lại mật khẩu, hoặc tương tác với người dùng. Tuy nhiên, khi chúng ta đang trong quá trình phát triển, vi...

Eloquent Methods: whereDoesntHaveRelation and whereMorphDoesntHaveRelation

Eloquent Methods: whereDoesntHaveRelation and whereMorphDoesntHaveRelation

New Laravel 11.37: Eloquent Methods Laravel cung cấp cho chúng ta khả năng xây dựng các truy vấn dữ liệu mạnh mẽ với Eloquent ORM, giúp chúng ta có thể xử lý các truy vấn cơ sở dữ liệu phức tạp một...

Implementing Private User Folders with elFinder in Laravel

Implementing Private User Folders with elFinder in Laravel

elFinder elFinder là một trình quản lý tập tin mã nguồn mở dành cho web, được viết bằng JavaScript sử dụng jQuery UI. elFinder được phát triển dựa trên cảm hứng từ sự tiện lợi và đơn giản của chư...

Laravel Validate Video Duration

Laravel Validate Video Duration

Đôi khi trong dự án, chúng ta cần xác định thời lượng video được phép upload lên server. Nhưng rất tiếc, Laravel không cung cấp validate xác định thời lượng video để chúng ta thực hiện được. Vì vậy, t...

Laravel Accessor and Mutator

Laravel Accessor and Mutator

Trong bài viết này, tôi sẽ hướng dẫn các bạn cách để format các Eloquent Attributes bằng cách sử dụng tính năng Laravel Accessors and Mutators. Accessors được sử dụng để format các thuộc tính khi c...

Laravel Queues and Jobs

Laravel Queues and Jobs

Các công ty có thẻ gặp khó khăn trong việc quản lý các dịch vụ hoặc ứng dụng của họ. Ví dụ, các công ty các thực hiện gửi email cho hàng triệu người dùng hoặc thực hiện sao lưu dữ liệu. Tất cả các hoạ...

Document Laravel API With OpenAPI (Swagger)

Document Laravel API With OpenAPI (Swagger)

Swagger là gì? Swagger là một Ngôn ngữ mô tả giao diện để mô tả các API RESTful được thể hiện bằng JSON. Swagger được sử dụng cùng với một bộ công cụ phần mềm mã nguồn mở để thiết kế, xây dựng, l...

Laravel Logging Of Database Queries

Laravel Logging Of Database Queries

Laravel là một Framework PHP mạnh mẽ và linh hoạt, giúp cho việc phát triển ứng dụng trở nên đơn giản và dễ dàng hơn. Một trong những tính năng hữu ích của Laravel là khả năng ghi nhật ký truy vấn...

ManhDanBlogs