Встречается на собеседованиях • сегодня
Какие знаешь способы оптимизации чтения БД
1. **Индексы** – ускоряют поиск по часто запрашиваемым полям.
```java
@Entity
@Table(indexes = @Index(columnList = "email"))
public class User { ... }
```
2. **Пейджинг** – разбивка данных на страницы (например, `Pageable` в Spring Data).
```java
Page users = repository.findAll(PageRequest.of(0, 20));
```
3. **Ленивая загрузка** (`FetchType.LAZY`) – загружает связанные сущности только при обращении.
4. **Кэширование** (Hibernate, Redis) – уменьшает повторные запросы к БД.
5. **Проекции (DTO)** – выборка только нужных полей вместо целых сущностей.
6. **Batch-запросы** – группировка операций (например, `JPA` с `hibernate.jdbc.batch_size`).
7. **Оптимизация JOIN** – избегание `N+1` проблемы через `@EntityGraph` или `FETCH JOIN`.
8. **Партиционирование** – разделение таблиц по логике (например, по датам).
9. **Read Replica** – чтение с реплик БД для распределения нагрузки.
10. **Materialized Views** – предвычисляемые представления для сложных запросов.

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