- 论坛徽章:
- 0
|
请教一个问题。
我当前使用Oracle 9i
要做一个批量数据更新的工作。
由于只能通过外部表的方式来做数据更新。所以写了以下Update语句来实现
外部表为exp_table:有3个字段,分别是main_phone, creation_date, last_update_date
内部待更新表为test_table的数据表也包含这3个字段。但还有其他字段。main_phone已建立索引
以下是语句:
UPDATE test_table t1 SET (main_phone, creation_date, last_update_date) = (SELECT main_phone, creation_date, last_update_date FROM exp_table t2 WHERE t1.main_phone = t2.main_phone) WHERE EXISTS (SELECT 1 FROM exp_table t2 WHERE t1.main_phone=t2.main_phone);
以上语句执行下来更新效率不是很高。我更新3000多条数据都要1分钟多一点。
现在我需要更新120W条左右的数据。有没有什么办法可以优化下上面的语句。提供更新效率 |
|