Рассмотрим SQL-запрос со следующим предикатом WHERE:
...
WHERE name IS NOT NULL
...
Где name - текстовое поле в PostgreSQL.
Ни один другой запрос не проверяет текстовое свойство этого значения, просто ли оно NULL или нет. Поэтому полный индекс btree кажется излишним, хотя он поддерживает это различие:
Кроме того, условие IS NULL или IS NOT NULL в столбце индекса может использоваться с индексом B-дерева.
Какой правильный индекс PostgreSQL быстро отличает NULL от non- NULL?