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

Перекладено ШІ
Оригінал: Laravel News
Оновлено: 15 жовтня, 2025
Ви завантажуєте 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 зараз →