Встречается на собеседованиях • сегодня
Что-то может поменяться в случае создания индекса с течением времени
В PostgreSQL индексы могут становиться менее эффективными со временем из-за изменения данных. Основные причины:
-
Раздувание (Bloat) - при частых UPDATE/DELETE остаются "мертвые" строки в индексе, увеличивая его размер и снижая производительность.
-
Изменение распределения данных - если данные стали более или менее селективными, индекс может перестать использоваться оптимизатором.
- Статистика устаревает - автоанализ не всегда успевает за изменениями, что приводит к неоптимальным планам запросов.
Пример мониторинга раздувания индексов:
sql
SELECT
nspname || '.' || relname AS table,
indexrelname AS index,
pg_size_pretty(pg_relation_size(indexrelid)) AS size,
idx_scan AS scans
FROM pg_stat_user_indexes
JOIN pg_index USING (indexrelid)
WHERE idx_scan < 100 AND pg_relation_size(indexrelid) > 1000000;Решение: регулярно перестраивать проблемные индексы (REINDEX) и обновлять статистику (ANALYZE).

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы