首页 > 解决方案 > 一张桌子的物品太少?

问题描述

我正在创建一个网站,用户应该指定的一件事是他/她的国家。我想大约有200个国家。哪种方法更好 - 将 200 个国家/地区存储在应用程序的列表/数组中(因此使用更多 RAM)或将它们作为表存储在数据库中?这类问题一般是如何解决的?

标签: databasedatabase-design

解决方案


一个 200 行的表本身并不是一个坏习惯。主要问题是让您的国家/地区列成为该表的外键的技术复杂性。国家是否定期进出?他们是否经常以需要将所有名称集中在一个表中的方式更改名称?

我通常的做法是简单地将国家的两个字母的国家代码存储在一个char(2)列中。这使您能够快速推断实际国家/地区的名称(而不是检查国家/地区 ID 37 的含义),而无需实际引入额外的表、额外的连接。

现在,如果您的应用程序实际上以此类国家/地区的数据为中心,那么使用包含多个列的国家/地区表来存储有关该国家/地区的信息是有意义的,但是我建议使用两个字母的国家/地区代码作为该表的主键.


推荐阅读