Индексы можно создавать заранее под известные запросы и ограничения, но не бесконтрольно: каждый индекс занимает место и увеличивает стоимость изменений данных и обслуживания.
Почему нельзя создавать индексы заранее на всякий случай?
Индексы можно создавать заранее под известные запросы и ограничения, но не бесконтрольно: каждый индекс занимает место и увеличивает стоимость изменений данных и обслуживания.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Индексы можно создавать заранее под известные запросы и ограничения, но не бесконтрольно: каждый индекс занимает место и увеличивает стоимость изменений данных и обслуживания.
Нужно учитывать фильтрацию, сортировку, селективность и порядок полей составного индекса. Лишние и дублирующие индексы расходуют память и I/O, не обязательно ускоряя чтение. Проверяют планы запросов, статистику использования и влияние на запись. Уникальные индексы могут быть нужны для корректности независимо от скорости. То есть запрета на предварительные индексы нет — требуется обоснование предполагаемой нагрузкой.