在性能方面,什么会更快,在 MySQL MyISAM 中使用BIT(1) NULL
(null = unknown,0 = male,1 = female)或ENUM('unknown', 'male', 'female') NOT NULL DEFAULT 'unknown'
?< / p>
或者这被认为是微优化?
[编辑]
我想我将使用ENUM('male', 'female') DEFAULT NULL
答案 0 :(得分:4)
是的,这是微观优化。性能将由其他东西支配,无论如何可空字段占用更多空间(对于空标志),因此使用有意义的枚举。
答案 1 :(得分:1)
我认为这种微观优化。
我会选择ENUM选项,因为没有阅读文档,所有值的含义都是完全清楚的。位选项有点模糊。
关于性能,我似乎记得NULL通常很糟糕,但现在找不到引用。