SQL оптимизация: сортировка и LIMIT

Оптимизация сортировки и ограничения результатов

Используйте LIMIT

Must Have

Если вам нужны только первые N строк результата, всегда используйте LIMIT - это позволит БД оптимизировать выполнение запроса.

Неоптимальный запрос:

SELECT customer_id, order_date, amount
FROM orders;

Оптимальный запрос:

SELECT customer_id, order_date, amount
FROM orders
LIMIT 10;

Избегайте ненужных ORDER BY

Must Have

Сортировка - одна из самых ресурсоемких операций. Если порядок строк не важен, не используйте ORDER BY или используйте только на маленьких объемах данных.

Неоптимальный запрос:

SELECT customer_id, SUM(amount) as total
FROM orders
GROUP BY customer_id
ORDER BY customer_id;  -- Не нужно, если порядок не важен

Оптимальный запрос:

SELECT customer_id, SUM(amount) as total
FROM orders
GROUP BY customer_id;

Список колонок в SELECT

Must Have

Выбирайте только те колонки, которые действительно нужны, вместо использования SELECT *. Это уменьшает объем данных, которые нужно прочитать и передать.

Неоптимальный запрос:

SELECT * FROM customers JOIN orders ON customers.id = orders.customer_id;

Оптимальный запрос:

SELECT c.name, c.email, o.order_date, o.amount 
FROM customers c JOIN orders o ON c.id = o.customer_id;