MySQL多表还是大表?

时间:2014-07-23 01:48:51

标签: mysql database database-design relational-database

为气象站设计数据库。我不确定哪种布局数据库是正确的。我已经了解了这两个解决方案,这是限制因素。

  1. 每个电台每10秒钟上传一次数据(温度,湿度和时间)。
  2. 必须支持数百个,可能是数千个站点。
  3. 因此,最好为每个电台创建一个新表,以便查看将不断写入的行数,或创建一个添加电台ID的怪物表以了解它的来源?

    Database Ideas

3 个答案:

答案 0 :(得分:0)

第二个更有意义,更常见。为每个站点制作一个表是愚蠢的,并且消除了使用SQL的全部要点。 SQL专为“大规模表”而设计,就像你想拥有的那样,因此你无需担心。

答案 1 :(得分:0)

第二种选择是正确的方式。

第一个图表是数据库的巨大过载数据。

同样在电台表中,您应该将StationID作为外键包含。

然后,通过将Stations表的外键链接到StationData表的主键,您可以使用内部连接访问所有数据。

希望这会帮助你!

答案 2 :(得分:0)

一般情况下,请使用第二个模型,但如果您始终需要在单个工作站下拉所有对象,请使用第一个模型。

基本原理是,如果您需要始终获取单个站的所有天气数据,则必须让数据库服务器滚动浏览所有站的整个聚合表。随着站点数量的增加,运行时间会增加。