在MySQL中存储城市、州和国家的最佳方法是什么?

4
当我需要在表中存储有关用户城市、州和国家的信息时,以下哪种方式最好?
1. 在用户表中拥有“州”,“城市”和“国家”字段。 2. 在用户表中拥有“id_city”,并且: - 一个名为“cities”的表,其中包含“id”,“name”和“id_state”。 - 一个名为“states”的表,其中包含“id”,“name”和“id_country”。 - 一个名为“countries”的表,其中包含“id”和“name”。
第二种方法将避免出现错误的城市、州和国家,例如:“Munique”,'NY' - 'Brazil'。
但是,当我需要选择用户所在国家时,需要进行三次连接!
那么,什么是最好的方法呢?

我会选择第二个选项。您想要维护数据的引用完整性。 - user3272686
选项2。节省磁盘空间。 - Daisuke Tahara
1个回答

0

坚持选项2。

实际上,根据用例和应用程序用户数量。这不会是一个问题。如果是的话,缓存会有帮助(这些数据属于静态数据。它们很少改变)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接