Выбор ответа Junior Индексы спрашивают часто обновлено

Чем платим за индексы

Вопрос

Чем плохо создать индекс на каждую колонку таблицы?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Каждая запись обновляет все индексы: медленнее и больше места. Индекс это отдельная структура, её поддерживают при каждой записи, она занимает диск и место в кеше, увеличивает работу VACUUM.

Варианты ответа

  1. PostgreSQL разрешает не больше 5 индексов на таблицу
  2. Планировщик запутается и перестанет использовать индексы
  3. Каждая запись обновляет все индексы: медленнее и больше местаправильный ответ
  4. Ничем: лишние индексы не используются и ничего не стоят

Разбор

Индекс это отдельная структура, её поддерживают при каждой записи, она занимает диск и место в кеше, увеличивает работу VACUUM. Жёсткого лимита в 5 индексов нет. Планировщик выбирает по стоимости и не «путается», но лишние индексы не бесплатны даже неиспользуемые: их всё равно обновляют при записи.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.