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

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

Да, индекс можно создать по не уникальному полю. Индексы ускоряют поиск и сортировку, даже если значения в поле повторяются. Например, в таблице сотрудников поле department_id часто не уникально, но индекс на нём улучшит производительность запросов с фильтрацией по отделу.

java
// Пример создания индекса в Hibernate (аннотация @Index)
@Entity
@Table(indexes = @Index(name = "idx_department", columnList = "department_id"))
public class Employee {
    @Column(name = "department_id")
    private Long departmentId;
    // другие поля
}

Особенности:

  1. Индекс по не уникальному полю занимает больше места, так как хранит ссылки на все строки с одинаковыми значениями
  2. Эффективен для часто фильтруемых полей, даже если они не уникальны
  3. Может замедлять операции вставки/обновления из-за необходимости поддерживать индекс
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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