【发布时间】:2016-07-27 08:22:08
【问题描述】:
绞尽脑汁寻找优化下表的最佳方法,因此我不会将冗余信息添加到我的数据库中。希望尽我所能优化城市、县和 zip。
城市
- city_id tinyint 2
- 名称 varchar 16
- 人口平均数 7
- 网站 varchar 255
县
- county_id tinyint 2
- 名称 varchar 32
压缩
- zip_id tinyint 2
- 压缩字符 5
- 一些映射信息 - 仍然需要弄清楚
然后加入 -
位置
- location_id tinyint 2
- city_id tinyint 2
- zip_id tinyint 2
- county_id tinyint 2
location id 然后放在业务表中,这个表很大,我会处理它,看看我是否可以提高效率
商业
- bus_id
- 姓名
- 街道
- - location_id tinyint 2
有什么建议吗?我在正确的轨道上吗?
【问题讨论】:
-
县名不是全球唯一的。您可以有“XYZ 县,俄勒冈州”和“XYZ 县,内布拉斯加州”。您必须在州/省级别链接县,而不是整个宇宙。
-
这只是一个有限的本地数据库,因此所有县都在一个州内
-
哇,这就是标准化变得疯狂时的样子。我还不完全理解您所说的“优化”是什么意思……尤其是我不明白为什么街道是业务表的一部分而不是位置表的一部分。优化很大程度上取决于您要运行的查询,因此您可能应该提及这一点。否则你的问题真的不具体;o/
-
所以我有点过火了?业务表包含有关业务、名称、街道、电话的信息。我遇到的是每个邮政编码可以有几个城市,每个城市可以有一堆邮政编码。每个县都一样。每个城市都有相同的数据,但我不想复制所有信息。
标签: mysql database optimization