UPDATE inv_master
set limit_flag='Y'
where limit_flag = 'N';其中inv_master表中有10万条数据,符合条件的有158条
更新速度特别慢,是为什么呢?
set limit_flag='Y'
where limit_flag = 'N';其中inv_master表中有10万条数据,符合条件的有158条
更新速度特别慢,是为什么呢?
这个数据量比较小,应该很快就更新了的。
一般遇到数据量比较大的表更新时,我都采用如下2种方法。
1. 使用rowid更新
update inv_master a
set a.limit_flag='Y'
where a.rowid=(select b.rowid from inv_master b and b.limit_flag = 'N')
;
2. 建立一个同样结构的临时表,然后插入临时表,之后把原表删除掉,临时表改名为原表