В производственной таблице из пары десятков миллионов записей мы обнаружили, что у нас есть (индексированный) строковый столбец, который в логике домена никогда не равен NULL. Однако в настоящее время этот столбец не обязательно должен иметь значение NOT NULL в схеме.
Теперь нам интересно: есть ли разница в производительности между запросом индексированного столбца (разрешен NULL) и индексированного столбца NOT NULL? Или это не имеет большого значения? Отличается ли способ хранения (/может быть) индекса внутри Postgres в этих двух случаях?
NULL
в индексе. Если их нет, то часть заголовка будет пустой. - person Gordon Linoff   schedule 17.10.2019