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

Когда нужна денормализация в БД

Денормализация применяется для повышения производительности в ущерб нормальной форме БД, когда:

  1. Частые JOIN-запросы замедляют работу – дублирование данных уменьшает количество соединений.
  2. Агрегация данных – предрасчёт сумм, средних и других метрик ускоряет отчеты.
  3. Чтение преобладает над записью – денормализация выгодна, если данные редко обновляются, но часто читаются.

Пример:

sql
-- Нормализованная таблица (users + orders)  
SELECT u.name, COUNT(o.id)  
FROM users u  
JOIN orders o ON u.id = o.user_id  
GROUP BY u.name;

-- Денормализованный вариант (предрасчёт)  
ALTER TABLE users ADD COLUMN order_count INT;  
UPDATE users SET order_count = (SELECT COUNT(*) FROM orders WHERE user_id = users.id);  

Минусы: сложнее поддерживать целостность и обновлять данные.

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

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

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

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