数据库设计:结合

时间:2011-12-18 10:45:42

标签: mysql

假设我有一个代表用户的表:id, name表格很大,大约有1亿行。 用户也有一些属性,比如说诞生之城。这是可选字段,因此只有一小部分用户(仅说5%)提供了它。所以我还有一张城市表:id, name。关系是1对多 - 用户只能有一个城市,而一个城市可以成为许多用户的bithplace。

问题是:如何连接它们?

a)将列city_id添加到users表中。 (对于没有该属性的用户,注定了9500万个空值)

b)创建第三个连接表user_city: user_id,city_id(如果是的话,目的是省略大量的NULL)。

另外,请记住,应用程序需要

select user.name ... where city_id=xxx

因此,city_id列需要在任何情况下编入索引

0 个答案:

没有答案
相关问题