1.已经写了一个视图,统计每天十几张基础表的增量数据。视图统计中有每个基础表的ID,排序视图中操作时间,按时间再根据ID更新或插入到总表中相应字段。
2.每天的十几张表的增量数据大概1K万左右。
3.每个基础表都有分区,而且根据视图查询每天字段做了函数索引,所以查询视图时间很快,排序等时间可以接受。
4.总表已经建立复合分区,有全局唯一索引。
5.刚开始写了一个存储过程,执行还可以,当总表数量达到6K万后执行时间很慢。
6.我写的存储过程是先把视图放入游标,遍历视图,判断总表中是否有重复记录,根据当前基础表ID,插入或更新总表的相应字段。
7.使用了nologging,和分批提交数据,性能没有根本改善。
8.考虑过使用把增量数据放入临时表中,然后使用marge into 批量更新,但是要根据基础表ID判断要更新字段,而且必须按时间排序操作。请教各位大神,有什么好的思路。