【发布时间】:2013-07-26 08:36:00
【问题描述】:
我正在创建一个包含两个主表的数据库:items、locations。
items 表包含大约 3mill 记录,并且以每月 1mill 记录的速度增长。
locations 表包含 50,000 个位置(名称、纬度、经度),大小不会改变。
每次读取items 表都需要JOIN 到locations 表才能找出项目所在的位置除非我复制每个项目记录的位置内容。我预计每个月都会对 items 表进行大约 5mill 查询。
数据库的搜索将由 Sphinx 执行,因此我无需担心 mysql 地理距离查询复杂化。
我的问题是,我最好为每个项目复制位置数据,还是执行 JOIN 语句?
提前致谢
【问题讨论】:
-
嗨詹姆斯,对非规范化和危险princeton.edu/~achaney/tmve/wiki100k/docs/Denormalization.html 有一个相当好的解释
-
您可以保持它的规范化,因为连接将在主键上执行(假设)。
标签: mysql denormalization