Встречается на собеседованиях • сегодня
Как ускорить запрос в БД
-
Индексы: Добавь индексы на часто используемые колонки в WHERE, JOIN, ORDER BY.
sqlCREATE INDEX idx_user_email ON users(email); -
Оптимизация запросов:
- Избегай
SELECT *– выбирай только нужные колонки. - Используй
EXPLAINдля анализа плана выполнения.
- Избегай
-
Кэширование: Применяй кэш (например, Redis) для часто запрашиваемых данных.
-
Пакетная обработка: Объединяй несколько запросов в один с
JOINилиIN. -
Connection Pool: Используй пул соединений (HikariCP) для уменьшения накладных расходов.
-
ORM оптимизация:
- В Hibernate:
fetch = FetchType.LAZY,@BatchSize. - Избегай N+1 проблему с
JOIN FETCH.
- В Hibernate:
Пример с JPA:
java
@Query("SELECT u FROM User u JOIN FETCH u.orders WHERE u.id = :id")
User findUserWithOrders(@Param("id") Long id);-
Шардинг/партиционирование: Разделяй большие таблицы по ключам.
-
Рефакторинг схемы: Денормализация для тяжелых запросов.

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