Почему операции UPDATE/INSERT выполняются дольше, если на поле навешан индекс?

Индекс требует дополнительной работы при записи: нужно обновить его структуру и сохранить согласованность с таблицей. Но индекс также может ускорять поиск строк для UPDATE.

Короткий ответ

Что ответить на собеседовании

Индекс требует дополнительной работы при записи: нужно обновить его структуру и сохранить согласованность с таблицей. Но индекс также может ускорять поиск строк для UPDATE.

Подробный разбор

Ответ с пояснениями

Индекс требует дополнительной работы при записи: нужно обновить его структуру и сохранить согласованность с таблицей. Но индекс также может ускорять поиск строк для UPDATE.

INSERT добавляет запись в таблицу и соответствующие индексы, иногда вызывает разделение страниц. UPDATE индексируемого значения обычно требует изменения индекса; точное поведение зависит от СУБД и вида обновления. Дополнительные записи увеличивают I/O, журналирование и возможную конкуренцию. Поэтому нельзя утверждать, что любой UPDATE с индексом всегда медленнее: быстрый поиск нужной строки может перевесить стоимость обслуживания. Оставляйте индексы под реальные запросы и измеряйте баланс чтения и записи.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее