【发布时间】:2012-08-13 19:24:39
【问题描述】:
假设我有以下数据库结构:
我的应用程序需要显示包含所有详细信息的文章列表(型号、产品系列、品牌、生产商)。为此,我需要进行更多的 JOIN 以获得所需的数据。
我是否可以通过为 Article 表创建冗余 FK 来提高应用程序的性能,如下所示?它真的提高了性能吗?
【问题讨论】:
-
我看不出这会如何减少 JOIN 的数量。您仍然需要连接所有表以获取所有详细信息,只有连接 order 会有所不同(除非您仅对 ID 感兴趣,而不对详细信息表的其他列感兴趣)
-
您为什么认为这会提高应用程序的性能?
-
您可能是对的,当我需要获取所有数据时,冗余 FK 不会提高性能。
标签: database performance foreign-keys denormalization database-indexes