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

Как можно ускорить запросы в базе данных

1. **Индексы** – создание индексов на часто используемых полях (WHERE, JOIN, ORDER BY). ```java // Hibernate аннотация для индекса @Entity @Table(indexes = @Index(columnList = "email")) public class User { ... } ``` 2. **Оптимизация запросов** – избегать SELECT *, использовать пагинацию (LIMIT/OFFSET), кэшировать результаты. 3. **JOIN вместо N+1** – использовать FETCH JOIN в Hibernate: ```java @Query("SELECT u FROM User u JOIN FETCH u.orders") List findAllWithOrders(); ``` 4. **Batch-обработка** – группировка INSERT/UPDATE через `rewriteBatchedStatements=true` в JDBC. 5. **Кэширование** – Redis/Hazelcast для часто читаемых данных. 6. **Настройка пула соединений** (HikariCP) – правильные размеры пула под нагрузку. 7. **Анализ EXPLAIN** – выявление узких мест в запросе. 8. **Партиционирование** – разделение больших таблиц по датам или диапазонам. 9. **Репликация** – чтение с реплик для распределения нагрузки. 10. **NoSQL** – для специфичных сценариев (например, MongoDB для документов).
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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