【发布时间】:2012-11-24 20:47:41
【问题描述】:
我想正确设计我的数据库。也许有人可以帮助我。
我有一个设备,它每 3 秒将大约 100 个键/值写入一个表。 有人建议这样存储:
^ 时间戳 ^ key1 ^ key2 ^ [...] ^ key150 ^
| 2012 年 12 月 6 日 |空 | 2243466 | [...] |空^
但我认为那是完全错误的,不是动态的。因为我可以有很多空值。 所以我尽力做到最好,并按照我在学校学到的方式设计它: http://ondras.zarovi.cz/sql/demo/?keyword=tempidi
这是我为每个值写入时间戳的问题,这意味着在 100 个值内它总是相同并产生大量数据。
有人能给我提示如何减小数据库大小吗?我的 ERM 基本正确吗?
【问题讨论】:
-
您是否关心将相同的时间戳写入 100 行所占用的磁盘空间?
-
是的。我的计算是:100 个值 * 16bytes * 24 (h) * 60(min) * 60(s) * 30 (month) = 3.8GB /month
-
建议以这种方式存储的人不应该推荐数据库模型。
-
@YannicDoNotText 下面的答案详细说明了一个好的模型。您提供的模型具有应转换为行的列。
标签: mysql sql database-design entity-relationship