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

Как ускорить запрос в БД

  1. Индексы: Добавь индексы на часто используемые колонки в WHERE, JOIN, ORDER BY.

    sql
    CREATE INDEX idx_user_email ON users(email);
  2. Оптимизация запросов:

    • Избегай SELECT * – выбирай только нужные колонки.
    • Используй EXPLAIN для анализа плана выполнения.
  1. Кэширование: Применяй кэш (например, Redis) для часто запрашиваемых данных.

  2. Пакетная обработка: Объединяй несколько запросов в один с JOIN или IN.

  3. Connection Pool: Используй пул соединений (HikariCP) для уменьшения накладных расходов.

  4. ORM оптимизация:

    • В Hibernate: fetch = FetchType.LAZY, @BatchSize.
    • Избегай N+1 проблему с JOIN FETCH.

Пример с JPA:

java
@Query("SELECT u FROM User u JOIN FETCH u.orders WHERE u.id = :id")
User findUserWithOrders(@Param("id") Long id);
  1. Шардинг/партиционирование: Разделяй большие таблицы по ключам.

  2. Рефакторинг схемы: Денормализация для тяжелых запросов.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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