В условиях производительности, что будет быстрее, используйте BIT(1) NULL
(null = unknown, 0 = male, 1 = female) или ENUM('unknown', 'male', 'female') NOT NULL DEFAULT 'unknown'
в MySQL MyISAM?
Или это считается микро-оптимизацией?
[EDIT]
Я думаю, что я буду использовать ENUM('male', 'female') DEFAULT NULL
Да, это микрооптимизация. В производительности будут преобладать другие вещи, и в любом случае поля с нулевым значением занимают больше места (для нулевого флага), поэтому используйте осмысленное перечисление.
Я рассматриваю эту микро-оптимизацию.
Я бы пошел на вариант ENUM, потому что смысл всех значений полностью ясен без чтения документации. Вариант бит немного туман.
Что касается производительности, я, кажется, помню, что NULL обычно плохой, но не может найти ссылки прямо сейчас.