Иногда отсутствующее значение может быть представлено (без потери функции) без обращения к столбцу, который может иметь значение NULL, например:
- Ноль целое в столбце, который ссылается на идентификатор строки AUTO_INCREMENT другоготаблица
- Неверное значение даты (0000-00-00)
- Нулевое значение метки времени
- Пустая строка
С другой стороны, согласноРеляционная модель Теда Кодда, NULL, является маркером отсутствия данных.Я всегда чувствую себя лучше, когда делаю что-то «правильным образом», и MySQL поддерживает это и связанную с ним 3-значную логику, так почему бы и нет?
Несколько лет назад я проснулся с проблемой производительности и обнаружил, что могу решить ее.это просто добавив NOT NULL
к определению столбца.Столбец был проиндексирован, но я не помню других деталей.С тех пор я избегал NULL-способных столбцов, когда есть альтернатива.
Но меня всегда беспокоило, что я не совсем понимаю эффекты производительности, связанные с разрешением NULL в таблице MySQL.Кто-нибудь может помочь?