- 論壇徽章:
- 0
|
描述: 兩張表:t1(字段:a,b,c,d),t2(字段:a,b,c),字段均為char型,兩表的主鍵均為: a, b組成的聯(lián)合主鍵,F(xiàn)在,t2表c字段的值發(fā)生了變化,需要用t2表各記錄的c字段更新t1表中相應(yīng)記錄的c字段。
我的sql為:
update t1
set c= ( select t2.c from t2 where t2.a=t1.a and t2.b=t1.b )
where t1.a || t1.b in
( select t2.a || t2.b
from t2
where t2.a=t1.a
and t2.b=t1.b
)
問題:
1.目前的sql語句從邏輯上講是對(duì)的,但是感覺不夠優(yōu)化,且在大數(shù)據(jù)量的情況下執(zhí)行時(shí)效率非常低,請(qǐng)各位幫忙,看看該sql是否能有更好的寫法或其他的實(shí)現(xiàn)方式;
2.相同的數(shù)據(jù)量,該update語句在informix9.4上比informix 7.31上明顯慢(硬件、informix參數(shù)基本相同,只是操作系統(tǒng)一個(gè)為linux另一個(gè)為sco 5.0.6),有達(dá)人知道原因嗎? |
|