这个数据量上,应该做的是hash join outer
分区对效率应该没什么帮助
分区对效率应该没什么帮助
解决方案 »
- 字段数据分开问题
- 上海某外企诚聘Oracle顾问-----月薪10000RMB+
- 安装oracle时错误提示 写入文件F:\oracle\ora92\sysman\ole2\xpautune.reg时出现错误
- ORACLE 建表出现‘ORA-00905: missing keyword’的错误
- 如何在一个数据库中查询所有的表名
- oracle存储过程返回值问题
- 可不可以用sqlplus增加服务名?修改服务名?
- 重金求一段SQL,工作难题﹐急﹗
- 请教关于ORACLE的问题!!!
- 求救!如何优化数据库!
- C#使用Oracle.ManagedDataAccess.Client如何获得执行后的影响行数?
- 关于dbvisualizer Pro 9使用问题?
对于这样的大表,最好不要全表merge
可以分批进行,配合分区比如a表有3个分区,DD_PARTITION_DATE 范围分别是date'2014-1-1' 到date'2014-1-31'、date'2014-2-1' 到 date'2014-2-28' 、date'2014-3-1'到date'2014-3-31'
b表的DD_PARTITION_DATE 值也在这3个范围内。分3批来merge
merge into a partition (p201301) t1
using (select * from b where b.DD_PARTITION_DATE>= ........ and b.DD_PARTITION_DATE <....) t2
on (t1.DD_PARTITION_DATE =t2.DD_PARTITION_DATE )
.................
如果分区较多,可以写个存储过程来拼接执行