5

一对一的关系通常可以存储在同一个表中。是否有理由不将它们存储在同一张表中?

4

4 回答 4

4

列的数量和类型。表中列的大小有限制。见这里。每行最多有 8,060 个字节。

非常大的表也会影响性能,并且很难优化和索引。

这除了保持数据在概念上不同,彼此分开。例如,国家和货币具有 1 对 1 的关系(说明性示例,我知道并非总是如此)。我仍然不会让他们在一起。

于 2010-04-29T18:55:31.417 回答
3

您将在http://onlamp.com/pub/a/onlamp/2001/03/20/aboutSQL.html下找到一些关于何时创建一对一关系有用的信息

最重要的是以下内容:

可能需要一对一关系的关键指标是包含仅用于该表中某个记录子集的字段的表。

于 2010-04-29T18:55:07.590 回答
1

我这样做是为了防止锁定/阻塞,将读取的重列放在一个表中,将更新重的列放在另一个表中,就像一个魅力。大量的大型更新事务正在减慢大量读取速度。

于 2010-04-29T19:01:26.407 回答
0

一到零或一的关系很常见,并且从可选到强制链接 - http://onlamp.com/pub/a/onlamp/2001/03/20/aboutSQL.html中给出的示例就是这个亲切,不是一对一。类型/子类型关系可以这样实现。

当每个都代表一个明确的、有意义的实体时,就会出现一对一的关系,在不同的上下文中,它可能处于某种不同的关系中,并且对需求的微小变化可能会改变关系的基数。哪个链接到哪个链接是任意的,因此最好选择一个作为可选并将一转换为零或一。

于 2010-04-29T19:08:38.610 回答