2010-07-28 48 views
2

我的情况是:加入性能

表构件
ID
姓名
姓氏
公司
地址数据(5个字段)
接触数据(2场)

Table member_profile
member_id
HTML(类似<H2>名姓</H2 > <H3>公司</H3 > <跨度> date_registration </SPAN >)
date_activity
chat_status

表新闻
id
member_id(FK在member_profile到member_id)
标题
...

的想法是,成员,观看时的完整的个人资料是从成员数据库中提取,在例如新闻概况,保存会员基础显示信息的小桌子被加入。

但是,我发现需要更频繁地使用未存储在member_profile表中的成员信息,例如,名字,姓氏,性别,是nescesary当有人发布了一个新闻项目(名字已发布的新闻标题冠军

会是什么好做?移动从member_profile表中的字段的成员表,或移动成员字段的member_profile表,也许从成员表中删除呢?记住,在member_profile表加入了很多,同时也更新了每次登录,状态更新等

回答

1

你有两个表名为member所以我感觉你的问题没有正确形成

这是什么关系这些表格?看起来你有三张桌子,都是一对一的。因此,您只需将(fk to member_id in member_profile)更改为(fk to id in member)即可。

现在您可以根据需要加入2张额外表格中的任何一张,而无需经过member_profile

[编辑]我还假设member_profile.member_id是一个fk到member.id。如果没有,我相信它应该:)

+0

表名是复制并粘贴错误。 会员有一个member_profile, member_profile有一个会员, 消息有一个member_profile(也可以是会员) – FrankBr 2010-07-28 08:57:07

1

它们合并成一个表,以便你归名称的数据,然后创建其复制原来的两个表2次将是容易的选择

1

分离大多之间的表静态字段和经常更新的字段将提高写入性能。所以我会留下你在做什么。如果将两个表中的信息一起缓存在成员对象中,则读取性能(并因此加入)不成问题。