我有一个数据仓库(oracle),在这里我需要为所有7亿行的列设置相同的值。
我没有管理员权限,也没有管理员权限,因此需要使用基本sql来完成,并且不会创建临时表。
更复杂的问题是,如果我尝试仅执行一个简单的更新(其中1 = 1),则它会耗尽重做空间。
我现在运行它的方式是这样的循环:
loop
update mytable set mycolumn = '1' where mycolumn is null and rownum < 50000;
commit;
end loop
但是我知道这可能很幼稚,必须有一个更快,更优雅的解决方案。
该表是否已分区?
—
杰克说,请尝试topanswers.xyz 2011年
我不相信 有几个索引,但是没有一个索引涉及我要更新的列。
—
owook