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

Как решишь проблему долгого запроса в БД

Есть несколько подходов для оптимизации долгих SQL-запросов: 1. **Индексы** - добавление правильных индексов на часто используемые колонки в WHERE/JOIN/ORDER BY: ```java // Для Spring Data JPA @Table(indexes = @Index(name = "idx_user_email", columnList = "email")) @Entity public class User { ... } ``` 2. **Оптимизация запроса** - избегать SELECT *, использовать JOIN вместо подзапросов, ограничивать выборку LIMIT. 3. **Кэширование** - Spring Cache для часто читаемых данных: ```java @Cacheable("users") public User getUserById(Long id) { ... } ``` 4. **Пагинация** - разбивка на страницы: ```java Page users = userRepository.findAll(PageRequest.of(0, 20)); ``` 5. **Асинхронная обработка** - для тяжелых отчетов использовать @Async. 6. **Профилирование** - EXPLAIN ANALYZE в PostgreSQL для анализа плана выполнения. Важно сначала определить узкое место через мониторинг (например, Spring Actuator + Prometheus).
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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