Встречается на собеседованиях • сегодня
Как ускорить выполнение запроса поиска в БД
Оптимизация запросов в БД включает несколько ключевых подходов:
- Индексы – создание индексов на часто используемых полях в WHERE, JOIN, ORDER BY:
java
// Пример индекса в JPA
@Entity
@Table(indexes = @Index(columnList = "email"))
public class User { ... }- Оптимизация запроса:
- Избегайте SELECT * – выбирайте только нужные поля
- Используйте LIMIT для пагинации
- Минимизируйте подзапросы
-
Кэширование (Hibernate L2 cache, Redis)
-
Пакетная обработка (batch updates)
-
Анализ плана выполнения (EXPLAIN в SQL) для выявления узких мест
-
Оптимизация соединений – замена подзапросов на JOIN, где это уместно
-
Настройка пула соединений (HikariCP и др.)
Для JPA/Hibernate:
- Используйте
@BatchSize - Включайте
hibernate.jdbc.batch_size - Избегайте N+1 проблемы с
JOIN FETCH

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы