从存储引擎的角度来看,bit(8)和tinyint之间有什么区别吗
或者bit(16) vs smallint
或者bit(24) vs mediumint
或者bit(32) vs int
我想知道的是,它们是同义词吗,并且引擎对待一个和另一个一样吗?
发布于 2011-07-10 23:42:58
首先:我对单个引擎在尝试执行查询时如何处理位字段的内部原理一无所知。我很好奇索引或查询这两种列类型是否会更快。
从原始存储的角度来看,这些是storage requirements for numeric types
整数
=1字节浮点
精度,实数=8字节
约为(M+7)/8字节
除非您使用的是NDBCluster存储引擎,它需要每个存储记录4个字节。(除非您有多个位类型,它们将压缩为最小4个字节)
编辑:
根据this page on numeric types,tinyint(1)和bit在版本5.0.3之前对于myISAM是同义词,对于MEMORY、InnoDB、BDB和NDBCLUSTER5.0.5是同义词。这将意味着它们不再是。
https://stackoverflow.com/questions/6641881
复制相似问题