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

Может ли быть индекс по нескольким полям

Да, в Java при работе с базами данных можно создавать составные индексы (composite indexes) по нескольким полям. Это ускоряет запросы, которые фильтруют или сортируют по этим полям.

Пример с JPA/Hibernate:

java
@Entity
@Table(name = "users", 
       indexes = {@Index(name = "idx_name_age", 
                         columnList = "lastName, age")})
public class User {
    @Id
    private Long id;
    
    private String firstName;
    private String lastName;
    private int age;
}

Особенности составных индексов:

  1. Порядок полей в индексе важен (A,B ≠ B,A)
  2. Эффективен для запросов с условиями по всем полям или префиксу (A или A+B)
  3. Не помогает для запросов только по B без A
  4. Увеличивает время вставки/обновления данных
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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