如何批量更新oracle pl / sql中的大表以避免耗尽undospace?
发布时间:2021-01-04 06:31:12 所属栏目:站长百科 来源:网络整理
导读:我有一张很是大的桌子(5毫米的记录).我正在实行行使随机字母数字对表格的VARCHAR2罗列办恍惚处理赏罚.我的进程在较小的数据集上乐成执行,但它最终会在我无法节制的配置的长途数据库上行使,以是我想批量执行UPDATE语句以停止耗尽undospace. 我可以启用某种选项,还
我有一张很是大的桌子(5毫米的记录).我正在实行行使随机字母数字对表格的VARCHAR2罗列办恍惚处理赏罚.我的进程在较小的数据集上乐成执行,但它最终会在我无法节制的配置的长途数据库上行使,以是我想批量执行UPDATE语句以停止耗尽undospace. 我可以启用某种选项,照旧以块的情势举办更新的尺度要领? 我将增补说,没有任何夹杂的记录没有任何区别特性,以是我想在轮回中行使rownum是行不通的(我以为). 办理要领假如要更新表中的每一行,最好选择Create Table As Select,然后删除/截断原始表并行使新数据从头附加.假如您有分区选项,则可以将新表建设为具有单个分区的表,并将其与EXCHANGE PARTITION互换.插入必要少量除掉,带有nologging的直接路径插入(/ APPEND /提醒)也不会发生太多重做. 对付任何一种机制,也许会有旧的值的“法医”证据(譬喻,因为行移动而在除掉或“可用”空间中保存分派给表). (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |