【发布时间】:2014-10-08 08:31:52
【问题描述】:
我最近接管了一个网站,人们可以在该网站上注册以帮助辅导孩子。用户的部分详细信息是他们可以工作的区域,用邮政编码表示。问题是,我的前任设计了这个网站,在数据库中每个邮政编码都有一个布尔列。因此,用户表有近 270 列,有时可能会很慢(而且管理起来简直就是一场噩梦)。
大多数用户只选择几个邮政编码,因此肯定有更好的方法。我正在考虑一个 varchar 可以保存选定区域的逗号分隔,例如6043,8811,1234
遇到同样问题的人有什么建议吗?
【问题讨论】:
-
字段中的逗号分隔列表几乎总是一个坏主意。考虑为用户、邮政编码和工作能力的每个组合使用另一张单行表。此类问题很常见。
-
抱歉延迟回复,看来这家公司可能要关门了,所以我没怎么待过。我考虑了一个用户表和一个“用户的邮政编码”表,但认为字符串会更简单,它只有大约 100 个用户。我会听取大家的建议。感谢您的信息。
标签: mysql performance boolean