Oracle什么操作会生成最多和最少的undo?
Oracle什么操作会生成最多和最少的undo?
我来答
添加附件
收藏
复制链接
微信扫码分享
在小程序上查看
分享
添加附件
问题补充
6条回答
默认
最新
索引(实际上表就是索引组织表)会显著地影响undo的生成量,因为索引是一种复杂的数据结构,对它的维护可能会生成相当多的undo信息。
一般来讲,INSERT生成的undo最少,因为Oracle只需记录一个rowid以备将来回滚时删除此行。UPDATE排名第二,对于UPDATE操作,数据库只需记录被修改的数据就可以;通常情况下,大部分UPDATE操作只会更新行中很少的一部分,所以我们只需在undo中记录行的这一小部分就行了。DELETE操作通常生成的undo最多,因为Oracle必须把整行的删除前映像记录到undo段中。
评论
有用 2
通常来说:
INSERT 需要的undo空间最少;
DELETE操作需要的undo空间最多;
评论
有用 2通常来说:
INSERT 需要的undo空间最少;
DELETE操作需要的undo空间最多;
评论
有用 6通常来说插入数据利用到undo的空间较小,而删除数据利用到的undo表空间较大。
评论
有用 0你好,可以看看这篇文章,可能对你有帮助
https://www.modb.pro/db/571034
评论
有用 0回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
墨值悬赏

