🔥 Оптимизация запросов: Как убрать тормоза в SQL?
Сейчас покажу вам, как ускорить медленный SQL-запрос, который выполняется слишком долго. Если у вас в проекте есть запросы, которые выполняются секундами, а не миллисекундами, пора что-то менять!
🚀 Разбор примера
Допустим, у нас есть такой запрос:
SELECT *
FROM orders
WHERE customer_id = 123
ORDER BY order_date DESC;
Кажется простым, но выполняется медленно. В чём может быть проблема?
📌 Основные причины тормозов:
1️⃣ Нет нужного индекса – если customer_id или order_date не индексированы, база будет делать полный скан таблицы.
2️⃣ Слишком много данных – если таблица огромная, ORDER BY без индекса будет работать медленно.
3️⃣ Использование SELECT * – загружает ненужные колонки и увеличивает нагрузку.
✅ Как ускорить?
✔ Добавляем индекс (если его нет):
CREATE INDEX idx_orders_customer ON orders(customer_id, order_date DESC);✔ Выбираем только нужные колонки:
SELECT order_id, order_date
FROM orders
WHERE customer_id = 123
ORDER BY order_date DESC;✔ Лимитируем выборку (если нужен только последний заказ):
SELECT order_id, order_date
FROM orders
WHERE customer_id = 123
ORDER BY order_date DESC
LIMIT 1;
🔥 Итог
Добавление индекса + правильный выбор колонок + LIMIT = в разы быстрее! 🚀
#db
👉 @database_info