TGViewer
BA & SA | 10000 Interview questions BA & SA | 10000 Interview questions @systemanalystinterview · 10.3K subscribers
Post #11845 331
☀Объяснение:

Почему партиционирование не решает
Партиционирование по дате уменьшит объём сканирования, если в 
WHERE есть дата, но здесь её нет – придётся сканировать все партиции.

Материализованное представление (MV)

MV хранит предрассчитанный результат запроса: 
SELECT client_id, SUM(amount) as total FROM orders GROUP BY client_id.
Занимает места ~ (кол-во клиентов) × (несколько байт).
Обновляется инкрементально после каждого изменения в 
orders или по расписанию.
Запрос к MV вместо основной таблицы выполняется за миллисекунды (читает всего N строк).

В требованиях нужно указать:

«Для отчёта "топ клиентов" использовать материализованное представление 
client_totals».
«Обновлять представление раз в час (допустима задержка)».
«При изменении данных (INSERT/UPDATE) в 
orders запускать фоновую задачу пересчёта».

Реальный пример
В CRM-системе отчёт «крупнейшие покупатели» грузился 30 секунд. После создания MV с ежечасным обновлением время упало до 0.2 секунды.
More from @systemanalystinterview
  1. Sep 29, 2026😱 Отправили свое резюме на 129 вакансий на хх, а в ответ тишина .. Думаете, что дело в ры…
  2. Sep 3, 2026А ИИ действительно экономит время? На деле ИИ может взять на себя рутину: анализировать да…
  3. Aug 26, 2026До 1 сентября остаётся меньше недели, и мы с вами официально вступаем в самую активную пор…
  4. Aug 21, 2026Если вы работаете в сфере IT, развиваетесь в технологиях или просто хотите быть в курсе са…
  5. Aug 20, 2026🔈 Как найти работу в 2026 году Вы все слышали о том, что происходит с рынком труда (если…
  6. Aug 20, 2026Post #12336
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →