日期:2014-05-17  浏览次数:20788 次

关于update性能
我有一张表t,有20W条左右数据,现在要清空某列
update t set a=null;
这句话居然要运行3分多钟,请问这样正常吗?哪些因素会影响update语句呢,如果表里数据达到千万级怎么办,岂不是要几个小时啦。。。
------解决方案--------------------
其实需求是,列只是要清空,可以先删除列,再添加列,效率高些
alter table 表名 drop column 列名;
alter table 表 add (列 varchar2(10));

------解决方案--------------------
分批UPDATE,20W数据建议分10次更新,每更新2W条提交一次。