Вопрос проверяет понимание издержек индексов и баланса между чтением и записью данных.
При каждой вставке, обновлении или удалении данных база должна обновлять не только таблицу, но и все связанные индексы. Это увеличивает количество операций записи. Чем больше индексов — тем медленнее запись. В высоконагруженных системах это может стать узким местом. Поэтому индексы всегда являются компромиссом.
Индексы ускоряют чтение, но делают операции записи дороже.
Стоимость записи с индексами — это дополнительные операции обновления индексных структур при изменении данных.
Перед перечислением важно понимать: индекс — это отдельная структура, которую нужно поддерживать в актуальном состоянии.
Вставка (INSERT)
новая строка добавляется в таблицу
запись добавляется во все индексы
Обновление (UPDATE)
если меняется индексируемое поле
индекс должен быть перестроен
Удаление (DELETE)
запись помечается или удаляется
индекс обновляется
Блокировки и конкуренция
больше операций → больше блокировок
выше вероятность ожиданий
Массовые вставки замедляются
Частые обновления становятся дороже
Увеличивается нагрузка на диск и память
Индексы ускоряют чтение, но замедляют запись, поэтому их количество должно быть минимально необходимым для реальных сценариев использования.