Eloquent Performance Patterns

2h 12m 50s
English
Paid

Learn how to drastically improve the performance of your Laravel applications by pushing more work to the database, all while still using the Eloquent ORM.

Read more about the course

Performance issues suck. Customers are frustrated. Your servers are overloaded. Management is breathing down your neck.

You've already solved all your N+1 issues, added the necessary indexes, and you're even paying for the most expensive database server available. But despite all this, some things just feel impossible to build in a performant way.

  1. We can't paginate results in the database because they depend on authorization checks that happen in Laravel.

  2. We have to do some really complicated calculations on large data sets, which seems impossible without a real programming language like PHP.

  3. We can't sort results in the database, because we have to sort by values computed in our application.

So you invest months into different caching strategies to try and speed things up, but caching is hard. Every time you think you've solved a performance problem, you have a new caching problem to deal with instead.

I've been there and it sucks. So one day I decided “that's it, I'm going to figure out how to push all this work to the database if it kills me.” The results blew my mind.

By leveraging advanced database techniques, like sub queries, conditional aggregates, and aggressive use of scopes, pages that took 30+ seconds to load were now loading within 500ms!!

I've since spoken about Eloquent and database performance at both Laracon Online and Laracon US, and have written in-depth articles on the topic.


Watch Online Eloquent Performance Patterns

Join premium to watch
Go to premium
# Title Duration
1 Measuring your database performance 04:43
2 Minimizing memory usage by selecting only 04:29
3 Getting one record from has-many relationships 09:44
4 Creating dynamic relationships using sub queries 06:10
5 Calculating totals using conditional aggregates 04:21
6 Optimizing circular relationships 04:25
7 Setting up multi-column searching 04:07
8 Getting LIKE to use an index 05:05
9 Faster options than whereHas 03:55
10 When it makes sense to run additional queries 03:08
11 Using UNIONs to run queries independently 07:58
12 Fuzzier searching using regular expressions 04:45
13 Running authorization policies in the database 06:04
14 Faster ordering using compound indexes 04:05
15 Ordering by has-one relationships 01:38
16 Ordering by belongs-to relationships 01:39
17 Ordering by has-many relationships 04:21
18 Ordering by belongs-to-many relationships 05:39
19 Ordering with NULLs always last 07:36
20 Ordering by custom algorithms 06:38
21 Filtering and sorting anniversary dates 07:04
22 Making N+1 issues impossible 03:24
23 Ordering data for humans using natural sort 04:20
24 Full text searching with rankings 05:07
25 Getting the distance between geographic points 03:23
26 Filtering by geographic distance 03:00
27 Ordering by geographic distance 01:26
28 Filtering by geospatial area 04:36

Similar courses to Eloquent Performance Patterns

Laravel 8 PHP Framework A - Z Build Professional Ecommerce

Laravel 8 PHP Framework A - Z Build Professional Ecommerceudemy

Category: Laravel
Duration 71 hours 53 minutes 34 seconds
Vue.js + Laravel: CRUD with SPA

Vue.js + Laravel: CRUD with SPAlaraveldaily.com

Category: Vue, Laravel
Duration 1 hour 50 minutes 29 seconds
Vue 3 and Laravel: Breaking a Monolith to Microservices

Vue 3 and Laravel: Breaking a Monolith to Microservicesudemy

Category: Vue, Laravel, Redis
Duration 14 hours 4 minutes 43 seconds
Laravel 10 Build Complete Hotel Booking Reservation System

Laravel 10 Build Complete Hotel Booking Reservation Systemudemy

Category: Laravel
Duration 41 hours 7 minutes 15 seconds
Facebook Clone with Laravel, TDD, Vue & Tailwind CSS

Facebook Clone with Laravel, TDD, Vue & Tailwind CSSudemy

Category: Vue, Laravel
Duration 9 hours 9 minutes 44 seconds
Develop and Deploy Laravel Applications with Docker

Develop and Deploy Laravel Applications with DockerAndrew Schmelyun

Category: Laravel
Duration 2 hours 29 minutes 56 seconds
Laravel 8 - Advance Course Build School Management System

Laravel 8 - Advance Course Build School Management Systemudemy

Category: Laravel
Duration 80 hours 43 minutes 53 seconds
React Js A-Z With Laravel - For Beginner to Advanced Level

React Js A-Z With Laravel - For Beginner to Advanced Leveludemy

Category: React.js, Laravel
Duration 68 hours 1 minute 33 seconds
In Depth Laravel Course (2023 Version)

In Depth Laravel Course (2023 Version)Sarthak Shrivastava

Category: Laravel
Duration 35 hours 46 minutes 3 seconds
SOLID Code in Laravel

SOLID Code in Laravellaraveldaily.com

Category: Laravel
Duration 1 hour 46 minutes 51 seconds