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

Как задавались индексы в последнем проекте

В моем последнем проекте индексы в базе данных (PostgreSQL) задавались через аннотации @Index в Hibernate-сущностях. Например:

java
@Entity
@Table(name = "users")
@Index(name = "idx_user_email", columnList = "email", unique = true)
public class User {
    @Id
    @GeneratedValue
    private Long id;
    
    @Column(unique = true)
    private String username;
    
    private String email;
    // другие поля
}

Ключевые моменты:

  1. Для уникальных полей (логин) использовали @Column(unique = true)
  2. Для составных индексов - @Index(columnList = "field1,field2")
  3. Для часто используемых в WHERE/JOIN полей создавали отдельные индексы
  4. Индексы на внешние ключи добавлялись автоматически JPA-провайдером

Перед релизом анализировали запросы через EXPLAIN и добавляли недостающие индексы.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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