在存储引擎的眼中,bit(8)
和tinyint
之间是否有任何差异?
或bit(16)
vs smallint
?
或bit(24)
vs mediumint
?
或bit(32)
vs int
?
我想知道的是,它们是同义词,而引擎会像对方一样对待它吗?
答案 0 :(得分:1)
首先:我不知道在尝试进行查询时各个引擎如何处理位字段的内部结构。如果索引或查询这两种列类型会更快,我会很好奇。
从原始存储角度来看,这些是storage requirements for numeric types:
除非您使用NDBCluster存储引擎,每个存储记录需要4个字节。 (除非你有多个比特类型,它们将压缩成最小4字节)
编辑:
根据this page on numeric types tinyint(1),bit在版本5.0.3之前是myISAM的同义词,5.0.5是MEMORY,InnoDB,BDB和NDBCLUSTER的同义词。这意味着他们不再存在。