0

我正在收集数据并将其存储在 MySQL 中,用于:

  • 75 个变量
  • 55个国家
  • 每年

在这个阶段,自从我构建这个工具以来,我已经创建了一个变量/国家的单一表格(存储 1 年的数据)。

明年(以及之后的几年)将为每个国家输入一组新数据。

因此,在控制返回给查看所有收集数据的用户的数据中存在 3 个变量。任何查询的一般形式是:

  • 给我看这些具体的变量,这些具体的国家,这些具体的年份。

(例如,显示 2012 年和 2009 年美国和加拿大的平均年龄和体重)

我的问题是,似乎我有两种选择来安排这些数据: - 多个表,我为收集的每一年数据创建一个国家/变量表 - 单个表并简单地为该数据的年份添加一个列(字段)涉及到。

据我所知,我可以使用任何一种结构进行这些数据库调用,但是一种更强大/更高效/更快,为什么?

感谢您的考虑。

如果这是相关的,它是一个 PDO / PHP 接口。

4

1 回答 1

0

使用关系方法通常涉及更多表。这转化为查询速度更慢(尽管在小型数据库中可能不明显)并且数据库大小更小。这使得正确更新信息变得更简单,从而确保数据完整性。例如,如果 Joe 的地址发生更改,您知道所有使用 Joe 的地址的报告都会更改。

使用较少的链接表,其中一个字段可以重复多次,您可能会在不同表中的数据之间存在差异,而您自然希望它是相等的。如果您正确安排表格,访问速度应该会快一点,因为您的信息将根据您访问它的方式进行分组。

例如,在第一种方法中,您将有一个Orders带有Supplier和表的Client表来制作完整的发票,而在第二种方法中,您希望将两者的一些信息放在SupplierClientOrders,以便访问找到与发票对应的行您正在寻找的数字将返回您需要的整个数据集(从而消除了连接的需要SupplierClient减少了数据库服务器上的负载)。

编辑:我认为更好的答案需要更多关于您的数据的信息(例如样本)。

于 2012-10-25T23:10:42.687 回答