一段时间以来,许多人告诉我,美国各州(和地区)的列表应该存储在数据库表中,并为使用该信息的应用程序缓存。他们给我的唯一原因是促进正常化,因为“这是我们一直这样做的方式”。
现在,如果由于应用程序的范围在国际范围内扩大(比如说包括加拿大各省)而经常更改列表,我可以理解将列表抽象为一个数据表,该数据表也将指示国家标识符。但是,如果列表几乎被锁定并且仅在应用程序的 1 个屏幕上使用,是否值得进行查询和缓存?存储 SMALLINT 外键是否比 CHAR(2) 好得多?它总是实用的吗?
只是在思考我在与我合作过的公司中看到的这种趋势。