我想创建一个如下所示的MySQL InnoDB表:
key
,value
key
是一个自动递增整数(0到5,000,000)
value
是无符号的int16值(0到65535)
此表的每一行所用的大小(以KB为单位)是什么?
答案 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)。