问一条sql执行效率的问题
wadr52013145
2010-08-29
sjynt131 写道 试试这个:
insert into a(id,status) select b.id,0 from b left join a on b.id=a.id where a.id is null; 这个应该行 先把b表里符合条件的选出来 然后插入a表 |
|
今夜有雨
2010-08-30
dingjun1 写道 今夜有雨 写道 谢谢大家,最后采用了full join的方式,两张表full join一下,存入第三张表。
40秒内能完成么? 不能,估计40分钟吧,反正到可以忍受的范围之内了。 |
|
ztbsuper
2010-08-31
insert into A(id,status)
select B.ID,0 from table_B B where not exists( SELECT 1 FROM A WHERE A.ID=B.ID ) 我一般这样写。。。in感觉非常慢的 |
|
Mrpublic
2010-09-06
sjynt131 写道 试试这个:
insert into a(id,status) select b.id,0 from b left join a on b.id=a.id where a.id is null; 帮分析指点一下: 1. a.id is null 不就是不存在的数据吗? 2. b.id =a.id 不就是b.id=null ? id 为null? |
|
Mrpublic
2010-09-06
今夜有雨 写道 谢谢大家,最后采用了full join的方式,两张表full join一下,存入第三张表。
把sql show出来吧 |
|
anningkf
2010-09-07
看的真过瘾
|
|
Sunny0229
2011-01-06
yidao620c 写道 使用Oracle10G增强的merge into语句:
MERGE INTO A USING B ON (A.ID = B.ID) WHEN NOT MATCHED THEN INSERT (ID, status) VALUES (B.ID, '0'); 挺这个 |
|
chenkuntian
2011-02-17
kj建立
|
|
z274084093
2011-02-18
insert into A(ID,STATUS)
select id,0 from B,A where B.ID(+) = A.ID AND B.ID = NULL |
|
czmmiao
2011-02-21
z274084093 写道 insert into A(ID,STATUS)
select id,0 from B,A where B.ID(+) = A.ID AND B.ID = NULL insert into A(ID,STATUS) select id,0 from B,A where B.ID(+) = A.ID AND A.ID = NULL 这样才对吧! |