首先是一些英语 。 估算与测量不一样。 如果我想测量,我会这样做;)(我可能会在稍后做)。 此外,我有一个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兆字节(不是兆字节)。 这只是一个粗略的估计。