加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

insert /*+ append */ 好处和弊端

(2016-01-15 16:33:19)
分类: Oracle
好处:
1.oracle在插入数据的时候,会直接在目标表的高水位上插入,而不会想常规插入一样在高水位线以下寻找可以插入的数据块;
2.append insert  不会像常规插入一样把相关数据缓存在buffer cache上,而是直接插入数据块,省去了缓存数据块的开销;
3.在非归档模式或者表是nologging模式时,使用append在目标表上插入数据不会产生redo,省去了产生redo这部分工作的开销。(对数据字典的修改、空间分配等会产生少量redo)

弊端:
1.对于经常delete的表,由于直接在高水位上插入,浪费磁盘空间太大;
2.使用append hint之后,在commit之前会对目标表加LMODE=6的排它锁,其他人无法对这个表做任何的dml操作,可能会导致严重的等待问题。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有