Оптимізація запитів та додавання індексів: як зменшити 400 запитів до 4 — Laravel на практиці, випуск 6

0
Перекладено ШІ
Оригінал: Laravel News
Оновлено: 08 жовтня, 2025
Покращте продуктивність вашої панелі керування Laravel у кілька простих кроків! У цій статті ви дізнаєтеся, як зменшити кількість запитів з 400 до всього 4, а час відгуку — з 180 мс до 40 мс. Чи готові ви вдосконалити свій проект? Читайте далі!

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

Різке покращення продуктивності вашої панелі Laravel - Laravel In Practice EP6

Ваша панель здійснює понад 400 запитів, але вирішення цієї проблеми простіше, ніж здається. А що, якби я сказав вам, що кілька стратегічних змін можуть знизити цю кількість до 4 запитів та зменшити час відповіді з 180 мс до 40 мс?

У цьому епізоді Laravel In Practice я покажу, як позбутися N+1 запитів та додати стратегічні індекси в базі даних, не порушуючи чисту архітектуру. Ви навчитеся виправляти метод визначення найкращих клієнтів, який генерував сотні запитів, використовуючи loadMissing() та таблиці для пошуку. Додамо складні індекси до частовикористовуваних колонок, таких як статус та user_id, а також використаємо плани запитів EXPLAIN для перевірки результативності ваших оптимізацій.

Результат? Кількість запитів на вашій панелі скорочується з понад 400 до лише 4. Ваша повільна завантаження у 187 мс стає швидкою - лише 53 мс. Ви побачите, як індекси дозволяють SQL переходити безпосередньо до відповідних рядків, а не сканувати всю таблицю, і як перевірити ці покращення за допомогою тестових маршрутів, які вимірюють реальні збільшення продуктивності.

Це продовжує наш шлях до оптимізації продуктивності, систематично усуваючи проблеми N+1, про які ми дізналися за допомогою Telescope в епізоді 5. Ніяких складних переписувань - лише розумніше використання loadMissing() для уникнення зайвого завантаження зв’язків і стратегічні індекси, додані через просту міграцію.

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

Оптимізації запитів та стратегії індексування, які ми реалізуємо тут, досягають 4.5-кратного підвищення продуктивності - і це лише початок. У наступному епізоді ми підемо ще далі, перемістивши обчислення на рівень бази даних.

▶️ Перегляньте епізод 6 зараз →

Популярні

Logomark Logotype

Як задокументувати кілька API в Laravel за допомогою Scramble

Ви знали, що в одному додатку Laravel можна реалізувати кілька API? У нашій статті ви дізнаєтеся, як за допомогою Scramble легко документувати різні версії API та налаштувати доступ до документації, щоб зробити її публічною або приватною. Читайте далі, щоб дізнатися більше

Logomark Logotype

Використання штучного інтелекту для управління перекладами в Laravel

Досліджуйте нові можливості локалізації вашого Laravel-додатку з пакунками, які використовують штучний інтелект, такими як ChatGPT та Claude. Які рішення можуть спростити ваш процес перекладу та зробити його більш точним? Читайте далі, щоб дізнатися більше!

Logomark Logotype

Що нового в PHP 8.5

PHP 8.5 обіцяє безліч нових можливостей, таких як оператор Pipe, функції `array_first()` та `array_last()`, а також нове розширення URI. Чи готові ви дізнатися, як ці функції можуть спростити вашу розробку? Читайте далі, щоб дізнатися більше про ці захоплюючі нововведення