MySQL中的BIT(1)vs ENUM('unknown','male','female')

时间:2010-08-24 10:59:14

标签: mysql performance optimization enums bit

在性能方面,什么会更快,在 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

2 个答案:

答案 0 :(得分:4)

是的,这是微观优化。性能将由其他东西支配,无论如何可空字段占用更多空间(对于空标志),因此使用有意义的枚举。

答案 1 :(得分:1)

我认为这种微观优化。

我会选择ENUM选项,因为没有阅读文档,所有值的含义都是完全清楚的。位选项有点模糊。

关于性能,我似乎记得NULL通常很糟糕,但现在找不到引用。