讨论:对于两个都有上万行的两个表,两个表中存在关联,你是建立视图还是让数据冗余来显示?
比如:MateiralInfo表是个材料基本信息表,有下列基本字段
OID(主键)、MaterialName(物资名称)、Spec(规格型号)、Unit(计量单位)、Texture(材质)
我有另外一个表MaterialPlan,是个材料申请(领用材料时申请)的表,表中就肯定要涉及到材料的基本信息。下面就有两种解决方案
第一:把物资的主键(及:OID)取到MaterialPlan表中,在数据显示时就联合MateiralInfo表显示物资的信息;
第二:把物资的基本信息(及:OID、MaterialName、Spec、Unit、Texture)都取到MaterialPlan表中,在显示时就直接MaterialPlan表中读取数据。当然这样就存在三个问题,
1)、材料申请时添加数据相对较多;
2)、数据冗余比较大
3)、更新物资基本信息时要多些操作
对于小数据量的情况下,肯定首选第一个解决方案,只存物资的OID到MaterialPlan表,但是对于大数据量情况下(系统经过长时间使用),比如MateiralInfo表有几万条甚至更多,MaterialPlan表也有几万条甚至更多是数据,那么又应该取舍那一点了?是从数据冗余考虑还是从速度上考虑了?想听听大家的意见.
说明:系统是B/S结构、数据库采用Oracle数据库
问题点数:50、回复次数:2Top
1 楼libin_ftsafe(子陌红尘:TS for Banking Card)回复于 2005-08-03 14:51:13 得分 50
推荐第一个方案,在两个表的关联字段上分别建立索引,Oracle对这种数据量级关联表查询的效率不会低到哪去。Top
2 楼PPLUNCLE(困了,累了,就到CSDN灌水)回复于 2005-08-03 16:11:45 得分 0
upTop




