加入没有外键

时间:2017-10-20 14:46:09

标签: mysql sql

如果是以下表格:

x, y, lat, lng

和表

lat, lng, Country, State, City

现在,我需要有第一个包含所有值的表,包括lat和lng。另一方面,第二个表中的数据不需要存在,它只是一个可能的扩展。

你可以看到第一个和第二个表之间存在某种父子关系,所以我正在考虑使用lat,lng作为外键,因为我要进行连接。另一方面,除了lat和lng之外的所有东西都不需要存在。

我应该使用外键吗?也许没有他们的工作,但仍然加入能够过滤其余的数据(国家,州,城市)?

1 个答案:

答案 0 :(得分:1)

是和否取决于数据如何进入这些表。

是的,如果第二个表中的记录将始终在第一个表之后创建(即第二个表数据是稍后会出现的一些信息)

不,如果第二个表中的数据将独立于第一个表(例如,第一个表由用户填充,第二个表由gis数据导入填充)...如果是这种情况,对long和lat上的两个表进行索引将足以缓解查询性能命中。