Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MYSQL数据库:如何为多个设备和多个数据构建数据库?_Mysql_Database_Performance - Fatal编程技术网

MYSQL数据库:如何为多个设备和多个数据构建数据库?

MYSQL数据库:如何为多个设备和多个数据构建数据库?,mysql,database,performance,Mysql,Database,Performance,我必须创建一个大型数据库。它将保存来自100多个设备的数据,这些设备将不断更新数据库。每10秒,每个设备将更新数据库中的一行。对于每个设备数据,最好有一个单独的表,或者在同一个表中有设备id的数据 问题: 我想了解,如果我对每个设备使用单独的表,那么在更新数据库时是否会有显著的性能改进 我还想了解,从数据库中检索相同的数据是否会提高性能。我们还将每隔10秒查询数据库,以更新新行。我正在使用MySQL 我认为没有理由在这里创建单独的表。您只需拥有一个名为device\u data的表,该表将设备的

我必须创建一个大型数据库。它将保存来自100多个设备的数据,这些设备将不断更新数据库。每10秒,每个设备将更新数据库中的一行。对于每个设备数据,最好有一个单独的表,或者在同一个表中有设备id的数据

问题: 我想了解,如果我对每个设备使用单独的表,那么在更新数据库时是否会有显著的性能改进


我还想了解,从数据库中检索相同的数据是否会提高性能。我们还将每隔10秒查询数据库,以更新新行。我正在使用MySQL

我认为没有理由在这里创建单独的表。您只需拥有一个名为
device\u data
的表,该表将设备的
id
作为
外键
保存到列出所有设备的
device
表中

在查询数据库时,这也将使您的生活更加轻松,因为您不需要从几十个不同的表中获取数据,所有数据都将放在一个公共位置

示例查询可能如下所示:

Select DD.device_name, DD.device_data From
device_data
INNER JOIN device D On
DD.id = D.id

“设备”是什么意思?@nickhar-Ipad、iphone、平板电脑等(我想是这样)@Evan-Yes,只是澄清一下。你的回答涵盖了它!如果需要,您可以根据设备ID对表进行分区,这将有效地创建“独立”的内部数据库。但是,仅仅因为你有100多台设备每10秒写入一次并不意味着什么。这仍然只是10个查询/秒,这对于现代数据库/服务器来说根本算不上什么。我明白这一点,但是如果使用不同的表,查询性能会提高吗?