就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the help center为指导。
8 年前关闭。
有一段时间,很多人告诉我,美国各州(和领地)的列表应该存储在数据库表中,并为使用该信息的应用程序缓存。他们给我的唯一原因是促进规范化,因为“我们一直都是这样做的”。
现在,如果由于应用程序的范围在国际范围内扩大(比如包括加拿大省份)而经常更改列表,我可以理解将列表抽象为一个数据表,该数据表也将指示国家/地区标识符。但是,如果列表几乎被锁定并且仅在应用程序的 1 个屏幕上使用,是否值得进行查询和缓存?存储 SMALLINT 外键是否比 CHAR(2) 好得多?它总是实用吗?
只是在思考我在与我合作过的公司中看到的这种趋势。
最佳答案
我把它们放在数据库中,有几个原因:
关于abstraction - 如果数据由 1 个应用程序使用,则使用数据库表而不是仅硬编码简单的数据列表的好处,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/986377/