Индекс содержит список значений указанного столбца (столбцов). Если в столбце есть значения NULL
, они не будут включены в индекс. Ограничение NOT NULL
является просто определением того, что разрешено в таблице, и не влияет на производительность сканирования индекса (если, конечно, схема не спроектирована плохо, а для столбца не указано NOT NULL
, а затемвы помещаете значения 0 или 'undefined` по всему этому столбцу, когда это не нужно - это будет заполнять индекс кучей бесполезных значений).
Короче говоря, NOT NULL
просто ограничивает видызначения, которые идут в таблице, а не в индексе, поэтому на производительность индекса обычно это не повлияет.