Разница между ограничениями NOT VALID и VALIDATE CONSTRAINT при добавлении нового столбца заключается в их функциях. 13
NOT VALID указывает, что при добавлении ограничения не нужно проводить проверку существующих строк таблицы. 15 Команда ADD CONSTRAINT с указанием NOT VALID не сканирует таблицу и может быть зафиксирована немедленно. 1 Основное предназначение этого указания — уменьшение влияния операции на параллельные изменения данных. 1
VALIDATE CONSTRAINT проверяет ограничение внешнего ключа или ограничение-проверку, созданное ранее с указанием NOT VALID. 1 Команда сканирует всю таблицу, чтобы убедиться, что ограничению удовлетворяют все строки. 1 Если ограничение уже помечено как проверенное, ничего не происходит. 1
Таким образом, NOT VALID позволяет сразу применять ограничение, а VALIDATE CONSTRAINT — убедиться, что все данные в таблице соответствуют этому ограничению. 5