我必须创建一个大型数据库。它将保存来自100多台设备的数据,这些设备将不断更新数据库。每10秒,每个设备将更新数据库中的一行。最好是为每个设备数据设置一个单独的表,或者将数据放在id为device的同一个表中。
问题: 我想了解如果我为每个设备使用单独的表,是否会在更新数据库方面有显着的性能提升?
我还想了解从db检索相同数据是否会提高性能。对于新行更新,我们将每隔10秒查询一次数据库。我正在使用MySQL。
答案 0 :(得分:1)
我认为没有理由在这里创建一个单独的表。您只需拥有一个名为device_data
的表格,该表格会将设备的id
作为foreign key
保存到device
表中,该表中列出了所有设备。
在查询数据库时,这也会让您的生活更轻松,因为您不需要从数十个不同的表中获取数据,您将拥有所有数据一个共同的地方。
示例查询可能如下所示:
Select DD.device_name, DD.device_data From
device_data
INNER JOIN device D On
DD.id = D.id