🛠️ Запрос в PostgreSQL вчера выполнялся за 300 мс, а сегодня — 40 секунд.

Первая реакция: «Нужен индекс». Иногда это верно. Но новый индекс без диагностики может не устранить причину и добавить нагрузку на запись и сопровождение базы.

Что проверить до изменения схемы:

• План выполнения Изменился ли путь выполнения и объём обрабатываемых строк? Полный проход по таблице не всегда ошибка: всё зависит от данных и фильтра. • Оценки и статистика Если при проверке с фактическим выполнением планировщик ожидал сотни строк, а обработаны миллионы, проверьте статистику и распределение данных. После массовых изменений статистика могла не успеть обновиться. • Рост данных Запрос мог не «сломаться» — данных стало больше, и прежняя логика перестала соответствовать нагрузке. • Блокировки и ожидания Запрос может не столько считать, сколько ждать блокировку или другое событие ожидания. Изменения SQL Новый JOIN, фильтр, сортировка, выражение в WHERE или SELECT * могут заметно изменить стоимость выполнения.

Типичная ошибка — добавлять индекс вслепую. Сначала выясните, что изменилось, и только потом меняйте схему.

Сохраните чек-лист для первичной диагностики PostgreSQL.

На курсах УКЦ ФОРС такие ситуации разбираются на практике: планы запросов, индексы, статистика, блокировки и диагностика производительности.

🔹🔹🔹🔹

🛠️ Запрос в PostgreSQL вчера выполнялся за 300 мс, а сегодня — 40 секунд.
Первая реакция: «Нужен индекс». Иногда это верно | Сетка — социальная сеть от hh.ru 🛠️ Запрос в PostgreSQL вчера выполнялся за 300 мс, а сегодня — 40 секунд.
Первая реакция: «Нужен индекс». Иногда это верно | Сетка — социальная сеть от hh.ru
🛠️ Запрос в PostgreSQL вчера выполнялся за 300 мс, а сегодня — 40 секунд.
Первая реакция: «Нужен индекс». Иногда это верно | Сетка — социальная сеть от hh.ru 🛠️ Запрос в PostgreSQL вчера выполнялся за 300 мс, а сегодня — 40 секунд.
Первая реакция: «Нужен индекс». Иногда это верно | Сетка — социальная сеть от hh.ru 🛠️ Запрос в PostgreSQL вчера выполнялся за 300 мс, а сегодня — 40 секунд.
Первая реакция: «Нужен индекс». Иногда это верно | Сетка — социальная сеть от hh.ru 🛠️ Запрос в PostgreSQL вчера выполнялся за 300 мс, а сегодня — 40 секунд.
Первая реакция: «Нужен индекс». Иногда это верно | Сетка — социальная сеть от hh.ru 🛠️ Запрос в PostgreSQL вчера выполнялся за 300 мс, а сегодня — 40 секунд.
Первая реакция: «Нужен индекс». Иногда это верно | Сетка — социальная сеть от hh.ru 🛠️ Запрос в PostgreSQL вчера выполнялся за 300 мс, а сегодня — 40 секунд.
Первая реакция: «Нужен индекс». Иногда это верно | Сетка — социальная сеть от hh.ru