Есть таблица заказов с полями: id заказа, id клиента, статус, дата создания. Куда логично повесить индекс?

Логично создать индекс по полям, которые чаще всего используются в условиях выборки и сортировки. В этом случае это:

Короткий ответ

Что ответить на собеседовании

Логично создать индекс по полям, которые чаще всего используются в условиях выборки и сортировки. В этом случае это:

Подробный разбор

Ответ с пояснениями

Логично создать индекс по полям, которые чаще всего используются в условиях выборки и сортировки. В этом случае это:

  • id клиента — для быстрого поиска заказов конкретного клиента.
  • статус — если часто фильтруют заказы по статусу.
  • дата создания — если часто сортируют или выбирают заказы по дате.

Оптимально сделать составной индекс по (id клиента, статус, дата создания), если запросы часто используют эти поля вместе. Также стоит иметь уникальный индекс по id заказа (обычно это первичный ключ).

Пример создания индекса в SQL:

CREATE INDEX idx_orders_client_status_date ON orders (client_id, status, created_at);

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее