MySQL中的位(1)与枚举(';未知';,';男性';,';女性';)之比

MySQL中的位(1)与枚举(';未知';,';男性';,';女性';)之比,mysql,performance,optimization,enums,bit,Mysql,Performance,Optimization,Enums,Bit,在性能方面,更快的方法是在MySQL MyISAM中使用位(1)NULL(NULL=unknown,0=male,1=female)或ENUM('unknown','male','female')非NULL默认值'unknown' 或者这被认为是微观优化 [编辑] 我想我将使用ENUM('male','memale')默认NULL是的,这是微优化。性能将由其他因素决定,无论如何,可空字段占用更多空间(对于空标志),因此使用有意义的枚举。是的,这是微优化。性能将被其他事物所支配,并且无论如何可空字

在性能方面,更快的方法是在MySQL MyISAM中使用
位(1)NULL
(NULL=unknown,0=male,1=female)或
ENUM('unknown','male','female')非NULL默认值'unknown'

或者这被认为是微观优化

[编辑]


我想我将使用
ENUM('male','memale')默认NULL

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

是的,这是微优化。性能将被其他事物所支配,并且无论如何可空字段占用更多的空间(对于空标志),所以使用有意义的枚举。

< P>我考虑这种微优化。

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


关于性能,我似乎记得NULL通常是坏的,但是现在找不到参考文献。 我会选择ENUM选项,因为所有值的含义都完全清楚,无需阅读文档。bit选项有点模糊


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

微优化。选择更有意义/语义正确的内容。在性能方面做什么更快?插入数百万行数据?查询特定性别的所有用户?还有什么吗?Null并不完全是“未知”的意思,它可能会导致SQL查询混乱。首先,处理null意味着可以避免使用古怪的额外语法。其次,有一个有趣的不合逻辑的空计算,其中空与任何东西相比都是空的。如果一个尤尼奇出现了呢?很高兴看到这么多人知道这是一个微型优化,但不知道这个专栏会发生什么。微型优化。选择更有意义/语义正确的内容。在性能方面做什么更快?插入数百万行数据?查询特定性别的所有用户?还有什么吗?Null并不完全是“未知”的意思,它可能会导致SQL查询混乱。首先,处理null意味着可以避免使用古怪的额外语法。其次,有一个有趣的不合逻辑的空计算,其中空与任何东西相比都是空的。如果一个尤尼奇出现了呢?很高兴看到这么多人知道这是一个微观优化,但不知道这篇专栏会发生什么。