Основные ограничения и компромиссы, которые следует учитывать при создании индексов:
- Ограничение на объём дискового пространства и оперативной памяти. 1 Чем длиннее ключ, тем большего размера индекс и место для его хранения. 1
- Замедление производительности системы. 1 Медленнее выполняются операции вставок, обновления либо удаления записей, потому что при изменении данных в таблице все индексы должны быть скорректированы соответствующим образом. 3
- Неэффективность для таблиц небольшого объёма. 1 Оптимизатор запросов может занять больше времени для обхода индекса поиска данных, чем для выполнения базовой проверки таблицы. 3
- Компромисс между скоростью записи и размером базы данных. 5 Каждый раз, когда выполняется INSERT или обновляется столбец, индекс должен обновляться. 5
- Индексация null значений. 2 Без них индекс компактнее, но их включение позволяет использовать запросы с требованиями «поле IS NULL» и делает индекс покрывающим, возвращая данные даже для записей с неопределёнными значениями. 2