oracle数据库中-表 cm_khjldk是个有7万多条数据的大表,
其索引为 khrq、zh、jkbh
用下面这个语句来更新某行记录update cm_khjldk set ye=2
where
khrq=to_date('20051231','yyyymmdd')
and zh='13000000000001'
and jkbh='0001'几十分钟过去,都没执行完。
有没有办法优化?
跪求请高人指点!!!
其索引为 khrq、zh、jkbh
用下面这个语句来更新某行记录update cm_khjldk set ye=2
where
khrq=to_date('20051231','yyyymmdd')
and zh='13000000000001'
and jkbh='0001'几十分钟过去,都没执行完。
有没有办法优化?
跪求请高人指点!!!
否则类型不对的话,是使用不到索引的
在则最好建一个复合索引(khrq,zh,jkbh)
khrq=to_date('20051231','yyyymmdd')
and zh='13000000000001'
and jkbh='0001'
select count(*) cm_khjldk where khrq=to_date('20051231','yyyymmdd') and zh='13000000000001' and jkbh='0001'
看看速度怎样。
一段例子
sql_str := ('update '||v_tblname||' t2 set a'||v_colnum||' = (:1) where t2.datatime = (:2)'); ----v_tblname 和 v_colnum 是前边传来的表和字段列的信息
……
execute immediate sql_str using v_ei2(i+1),v_starttime;
v_ei2(i+1),v_starttime 分别用来替换 (:1)\(:2)
希望你能尽快解决!
不好意思,刚才多了个S字符