Підвищення ефективності SQL: Laravel на практиці, випуск 7

1
Перекладено ШІ
Оригінал: Laravel News
Оновлено: 22 березня, 2026
Ви завантажуєте 10,000 замовлень у пам'ять, щоб провести розрахунки? Досліджуйте, як перенесення обчислень в SQL дозволить заощадити ресурси і підвищити продуктивність вашого Laravel застосунку. Читайте далі, щоб дізнатися про ефективні стратегії оптимізації

▶️ Дивіться відеоурок (6 хвилин)

Ви завантажуєте 10 000 замовлень у пам'ять лише для того, щоб обчислити підсумки. Ваш сервер навантажений, користувачі чекають, а є кращий спосіб. Що, якби база даних могла виконати всі ці обчислення за мілісекунди, не споживаючи цінний обсяг пам’яті?

У цьому випуску "Laravel In Practice" я покажу, як перенести обчислення з PHP колекцій до SQL агрегацій, зберігаючи чистоту архітектури. Ви дізнаєтеся, як створити OptimizedSalesReportService, який використовує Query Builder замість Eloquent колекцій, використовувати функції SQL SUM() і COUNT() для обчислення підсумків на рівні бази даних, а також використовувати правильні з'єднання, щоб уникнути N+1 запитів під час агрегації даних.

Результат? Така сама бізнес-логіка тепер виконується з мінімальним споживанням пам'яті. Замість завантаження тисяч замовлень у PHP масиви, база даних виконує важку роботу там, де це оптимізовано для таких операцій. Ви побачите, як GROUP BY з SELECT RAW перетворює ресурсоємні методи колекцій на ефективні SQL запити.

Це продовження нашої подорожі з оптимізації продуктивності, побудованої на покращеннях індексів з випуску 6. Ми не відмовляємось від чистої архітектури з першого сезону — ми створюємо оптимізований сервіс, який доповнює нашу оригінальну реалізацію, надаючи вам найкраще з обох світів: чистий код і неймовірну продуктивність.

Якщо ви працюєте з великими наборами даних або просто хочете більш ефективний код, ці техніки можуть змінити гру. Ви зрозумієте, коли використовувати Query Builder замість Eloquent, як писати продуктивні агрегації за допомогою selectRaw(), і чому перенесення обчислень у базу даних суттєво покращує швидкість і споживання пам’яті.

Стратегії оптимізації SQL, які ми впроваджуємо тут, завершують наші покращення на рівні бази даних. У наступному випуску ми додамо розумне кешування на основі цих оптимізацій для ще кращої продуктивності.

▶️ Дивіться випуск 7 зараз →

Популярні

Logomark Logotype

Створення CLI-додатка за допомогою Laravel та Docker

Зазирніть у світ Laravel, де потужний CLI-фреймворк відкриває нові можливості для розробки командного інтерфейсу. Дізнайтеся, як створити просту утиліту для перевірки акцій, яка працює з Docker, та які переваги це може принести у вашому проєкті!

Logomark Logotype

Випущено Livewire 3.6

Laravel Livewire випустив нову версію 3.6, яка приносить з собою цікаві HTML-директиви для управління видимістю DOM-елементів і JavaScript-діями. Досліджуйте нові можливості Livewire, що допоможуть вам створити ще більш інтерактивні користувацькі інтерфейси!

Logomark Logotype

Все, що потрібно знати про Laravel 13

Laravel 13 вийде в березні 2026 року й вимагатиме мінімум PHP 8.3. Хочете дізнатися, як PHP‑атрибути для моделей, нові налаштування черг і метод Cache::touch() вплинуть на вашу розробку?