MySQL InnoDB:主键+无符号整数大小?

时间:2011-03-22 23:01:06

标签: mysql

我想创建一个如下所示的MySQL InnoDB表:

keyvalue

key是一个自动递增整数(0到5,000,000) value是无符号的int16值(0到65535)

此表的每一行所用的大小(以KB为单位)是什么?

2 个答案:

答案 0 :(得分:4)

每个INT为4个字节,每个SMALLINT为2个字节。所以每行都是6个字节(我不打算以KB为单位给你)。我假设key也是主键索引。 InnoDb索引的开销大约为1.4,因此每行向密钥添加另外6个字节(大致)。

如果列可以为NULL,则每行都有另一个字节。

答案 1 :(得分:0)

根据10.5 Data Type Storage Requirements,密钥(MEDIUMINT)需要3个字节,值需要2个字节(SMALLINT)。