雨中的看客 2016年07月04日
ORACLE大表性能优化问题(求大神解答)
现有两张表
GOODS_PRICE(
GOODS_ID, PRICE, CODE,NAME ,RCODE (RCODE上建议了索引)
)
GOODS_NEW_PRICE(
GOODS_NEW_ID, PRICE, P_PRICE, LM_PRICE, LP_PRICE , CODE, NAME, RCODE, DEPT_CODE(RCODE, DEPT_CODE上建议了联合索引,该表是每个部门对应的价格表,如公司存在10个部门,GOODS_PRICE表有1千万条记录,那么该表存在的记录应该是1亿+)
)
GOODS_RATIO(
R_ID, P_RATIO, LM_RATIO, LP_RATIO, RCODE
)
业务数据上可能每天会对GOODS_NEW_PRICE表中的PRICE, P_PRICE, LM_PRICE, LP_PRICE 四个价格进行修改 (记录在2亿左右)
每个月会新导入一份从第三方拿到的GOODS_PRICE表(记录3千万)
现在需要用GOODS_PRICE.PRICE与GOODS_RATIO表中的(P_RATIO, LM_RATIO, LP_RATIO)三个折扣比例字段进行计算,得出的结果与GOODS_NEW_PRICE表的(PRICE, P_PRICE, LM_PRICE, LP_PRICE)四个值进行比较。
如果GOODS_PRICE.PRICE与GOODS_NEW_PRICE.PRICE相等,不更新后面三个字段(P_PRICE, LM_PRICE, LP_PRICE)。
如果有变化且计算出来的P_PRICE小于GOODS_NEW_PRICE.P_PRICE则更新GOODS_NEW_PRICE.P_PRICE(LM_PRICE, LP_PRICE逻辑一样)。
关联关系为
GOODS_PRICE.CODE = GOODS_NEW_PRICE.CODE
GOODS_PRICE.NAME = GOODS_NEW_PRICE.NAME
GOODS_PRICE.RCODE = GOODS_NEW_PRICE.RCODE

请问各位大神,这个怎么样才能在一个小时左右完成呀。
...全文
702 点赞 收藏 9
写回复
9 条回复

还没有回复,快来抢沙发~

发动态
发帖子
Oracle 高级技术
创建于2007-09-28

2927

社区成员

1.8w+

社区内容

Oracle 高级技术相关讨论专区
社区公告
暂无公告