[英]Why does MySQL's boolean type map to a tinyint instead of an enum?
在枚举上使用tinyint(1)是否存在性能或兼容性原因? 别的什么?
您可能会感兴趣的是, MySQL会使用整数对ENUM进行索引 。
自1999年以来,SQL标准包含一个布尔数据类型 - 有效值为true,false,unknown或null。 跨各种数据库系统的实现是不稳定的 。
MySQL不支持真正的布尔数据类型 - BOOLEAN映射到TINYINT,它只占用1个字节。 MySQL将0解释为false,其他所有数字都为true。
具有最多8个值的枚举存储在一个字节中。 tinyint也存储在int中。 所以没有区别。 MySQL不知道bools所以人们使用其中任何一个选项,性能等等。这没什么区别。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.