【发布时间】:2015-04-01 19:20:32
【问题描述】:
我认为我的标题很自我解释,但是我将在下面概述我在做什么。
一个人与一个城镇相连。这个镇与一个县相连。该县与一个国家相连。一个国家有很多县。一个县也有很多镇。话虽如此,很多人可以来自同一个城镇。
在我的数据库中,我有一个单独的表格,用于记录人员、城镇、县和国家/地区。为了获得完整的用户记录,我 LEFT JOIN 记录集上的表。这是我作为一个单独的人所做的工作的简化版本,分布在更多的桌子上。使用 FOREIGN 键会加快我的查询的执行速度吗?即使只是速度略有提高或资源使用量减少,我也会感兴趣。
我计划的规模非常大,因此执行时间和资源使用可能很有用。对于一个从数据库返回的人来说,我对多个表大约有 5-6 个联接。
edit 到目前为止,我想指出我正在使用主键和唯一键为每个表编制索引。此外,数据集可以在一个表(人)中快速添加数百万行,因此性能是关键。
【问题讨论】:
标签: mysql performance join foreign-keys