估计数据空间将被用于我的Mysql添加一个表

首先是一些英语估算与测量不一样。 如果我想测量,我会这样做;)(我可能会在稍后做)。 此外,我有一个dev的问题摆在这个职位。

我想将数据存储在一个MySQL表中,表的数据types是date,长,长,长,长,短int,在那里我会有一个基于date,长,长的复合关键。

也可能有更多的索引。 (编辑)它似乎是42个字节的数据加索引。 您可以使用每天插入的100万条logging进行数据增长。 我应该只是说,每天要增加4200万位(我猜根据configuration,还有更多)

所以看这个http://dev.mysql.com/doc/refman/5.1/en/numeric-types.html它出来是

我可以让每天增加100万行。 我会在Diskspace中占用多less钱? 任何引用将不胜感激(我会尝试find一些,并在这里发表)

你应该问MySQL的information_schema的信息。

这里是如何:

SELECT AVG_ROW_LENGTH FROM information_schema.tables WHERE table_schema='whateverdatabase' AND table_name='whatevertable'; 

现在,您可以将此值的倍数用于估算。 所以,在你的情况下,那将是:

 SELECT (AVG_ROW_LENGTH * 1000000) AverageSpaceForOneMillionRows FROM information_schema.tables WHERE table_schema='whateverdatabase' AND table_name='whatevertable'; 

等等,我这样计算:

 4 times long = 32 Byte 1 time shortint = 2 Byte 1 time datetime = 8 Byte 

总计达42字节= 336位。 加上每行的开销(未知)。 并加上至less32字节的索引。 所以一行是大约80字节或640位。

80百万字节的80万字节等于80兆字节(不是兆字节)。 这只是一个粗略的估计。