> В каком порядке строить составной индекс для user_id и даты (Python)

Уровень: senior · Роль: backend · Язык: Python · Категория: Технические вопросы

Компании: Notamedia, Точка

Стек: Python

> Пример ответа

Порядок столбцов в составном индексе зависит от паттерна запросов. Если вы чаще фильтруете по user_id (например, WHERE user_id = ?), а затем сортируете или фильтруете по дате (ORDER BY created_at), то индекс должен быть (user_id, created_at). Это позволит базе данных сначала отсечь все строки конкретного пользователя по первому столбцу, а затем эффективно отсортировать или отфильтровать по дате в рамках этого же индекса. Если же вы часто выбираете диапазон дат для всех пользователей (например, WHERE created_at BETWEEN ? AND ?), то индекс (created_at, user_id) будет выгоднее, но такой сценарий встречается реже. В типичном приложении (например, логи действий пользователя) оптимальный порядок - (user_id, created_at).

> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?

Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью