Вступить в клуб →
сложнаявопросPostgreSQL, ORM и оптимизация запросов

После добавления восьми индексов отчёт ускорился, а ночной импорт замедлился втрое

Чтобы ускорить аналитические выборки, на таблицу операций добавили восемь индексов — по каждому полю, которое встречается в фильтрах отчётов.

Отчёты действительно ускорились. Одновременно ночная загрузка данных (несколько миллионов строк) стала идти втрое дольше, а таблица заметно выросла в размере на диске.

Чем объясняется деградация записи и что с этим делать?

  • Индексы на запись не влияют, замедление вызвано блокировками со стороны отчётных запросов
  • Импорт замедлился из-за роста самой таблицы, индексы к этому отношения не имеют
  • Нужно перевести таблицу в режим без журналирования — запись перестанет зависеть от индексов
  • Каждая вставка поддерживает все индексы таблицы: набор нужно сократить под реальные запросы

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела