高分请教: 大数据量表字段定义的问题

simba45 2008-06-12 11:01:11
A表(记录数为1000左右)
AID
BName

B表(记录数为几千万)
AID字段与A表关联.

数据查询B表时要求关联显示A表的AName字段.

请问:这样的表结构设计比在B表直接使用AName字段的方式,哪个的性能好一些,
性能差别大吗?

各位大侠在实际的应用中都是怎么做的?


...全文
112 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
qixiao 2008-06-15
  • 打赏
  • 举报
回复
这种情况可以使用cluster,将两个表的id字段只存一份,对于经常关联查询来说,会很大程度上提高效率。

cluster的使用,参考下面的文章
http://blog.csdn.net/dlinger/archive/2004/07/09/37778.aspx
qiyousyc 2008-06-15
  • 打赏
  • 举报
回复
毫无疑问的,应该在B表中增加ANAME字段来处理。
就是说数据库设计必须要包含一定的冗余字段来提高速度。
数据库设计并不能完全按照第三范式来设计。
sjq521521 2008-06-14
  • 打赏
  • 举报
回复
楼上的正解.......
sulins 2008-06-14
  • 打赏
  • 举报
回复
A表数据量很小,建议分开存储。
二者的性能差异几乎可以忽略。
simba45 2008-06-12
  • 打赏
  • 举报
回复
谢谢各位的回答.

因为B表中与其它表关联的ID字段很多,
所以我主要担心的是性能问题.
只要对性能影响不大,我仍会选择在B表中使用A表的ID

希望各位能说一下你们在实际应用中的做法.
minmin_god 2008-06-12
  • 打赏
  • 举报
回复
如果直接在B表总增加一个字段,就等于多增加了几千万个字段,本人感觉不是太好,如果条件允许的话你也可以这么做,但是操作时一定要谨慎,
其实A表也不大,才一千左右,两个表关联查询,也是很快的
simba45 2008-06-12
  • 打赏
  • 举报
回复
同时在线的人可能在500左右,且A,B表都是一个访问非常频繁的表
adrianlynn 2008-06-12
  • 打赏
  • 举报
回复
在B表中增加ANAME字段。
多壮志 2008-06-12
  • 打赏
  • 举报
回复
毫无疑问的,后面一种查询更快些。但是看具体的查询语句,由于a表是个小表,在并发不多的情形下,两种方式的差别并不大。
hhfwyl 2008-06-12
  • 打赏
  • 举报
回复
欢迎加入oracle qq群9701750
hxmsammi 2008-06-12
  • 打赏
  • 举报
回复
有差别的,后面那种方法比较直观。
关联起来查找的结果可能是A和B表的结合,但是只查B表的话不用条件关联肯定快多了。
simba45 2008-06-12
  • 打赏
  • 举报
回复
难道没有人遇到过同样的问题吗?
yojiwei 2008-06-12
  • 打赏
  • 举报
回复
性能是在数据量很大的情况下才会发觉的,鉴于如果数据量没有想象中的那么高,还是用后一种,比较直接。
lifanfly 2008-06-12
  • 打赏
  • 举报
回复
最方便的方法是你自己写一个视图,对整体性能和你的表结构没有任何修改,速度也会很快

17,082

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧