让我们说我正在处理大量数据(成千上万的数据,或者可能是一百万个+记录)。并且假设我需要经常访问一些关系。例如:
user:
id
name
phone
addresses:
street
city
state
user_id
primary (tinyint)
zip_code
不是最好的例子,但我们发现为了某些计算目的,我总是需要抓取用户主要地址的zip_code
。此数据集包含数十万个用户和地址。 ALSO 将zip_code
存储在User
表上是否有意义,这样我就不会因为这么小的一小段数据而加速查询?
对我而言,似乎这可能会有问题,因为您不再拥有标准化数据。但是,我很好奇是否提高海量数据集的性能可能是有益的。也许,你会让这些“重复”列与触发器同步吗?
答案 0 :(得分:-2)
如果用户只能拥有一个地址,那么您的架构不会正常化。如果用户可以拥有零个或一个地址,则可以将此实现为单个表,但如果用户可以拥有多个地址,则用户不能拥有单个邮政编码属性。即你的问题没有实际意义。
(顺便说一句,不是每个人都会认为百万+记录“大量”)