首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数据库设计-我是应该规范化还是去规范化(加入,还是重复)

问数据库设计-我是应该规范化还是去规范化(加入,还是重复)
EN

Stack Overflow用户
提问于 2013-07-26 07:14:56
回答 2查看 489关注 0票数 2

我正在创建一个包含两个主要表的数据库:items、locations。

items表包含大约3次记录,并且正在以每月1次记录的速度上升。

locations表包含50,000个位置(名称、纬度、经度),大小不会改变。

每次读取items表都需要一个JOIN到locations表,以找出项目的位置,除非我复制每个项目记录的位置内容。我预计每个月都会对items表进行大约5Miller查询。

对数据库的搜索将由Sphinx执行,因此我不需要担心mysql地理距离查询的复杂性。

我的问题是,复制每个项目的位置数据还是执行联接语句更好?

提前感谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-07-26 07:22:44

我认为最好是在ITEM和LOCATIONS之间加上一个外键在ITEM的桌子上。

如果每次重复数据,就会有太多的冗余数据。

票数 2
EN

Stack Overflow用户

发布于 2013-07-26 07:51:57

我们可以从学术的角度来讨论非道德化,但实践总是与理论不同的。你如何设计你的结构也应该取决于使用-对你来说,我想这是响应的时间。

加入50k表并不是很昂贵,而且不会花费那么长的时间,因为location大小没有增加。

如果你有足够的自由空间,去造假将总是改善你的查询,但不必要地重复50.000的记录,另一方面,你将失去你正在寻找的速度。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17875167

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档