Встречается на собеседованиях • сегодня

Как можно использовать составной индекс в БД

Составной индекс (composite index) — это индекс, включающий несколько столбцов таблицы. Он эффективен для запросов, фильтрующих или сортирующих данные по нескольким полям.

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

sql
CREATE INDEX idx_name_age ON users(last_name, age);

Когда использовать:

  1. Фильтрация по нескольким полям — если часто выполняются запросы с WHERE last_name = 'Smith' AND age > 30.
  2. Сортировка — индекс (last_name, age) ускорит ORDER BY last_name, age.
  3. Covering index — если индекс включает все поля запроса, БД может не обращаться к таблице (используется только индекс).

Ограничения:

  • Порядок столбцов важен: (A, B)(B, A).
  • Индекс не будет работать для условий только по второму столбцу (WHERE age > 30 без last_name).

Пример в JPA/Hibernate:

java
@Table(indexes = @Index(columnList = "last_name, age"))
@Entity
public class User { ... }
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы