ITPub博客

首页 > 数据库 > Oracle > 关于加快INSERT语句执行速度和 HINT /*+ append*/及nologging的使用

关于加快INSERT语句执行速度和 HINT /*+ append*/及nologging的使用

Oracle 作者:不一样的天空w 时间:2019-04-03 21:26:58 0 删除 编辑

http://blog.itpub.net/25834554/viewspace-1054672/


非归档,T01(LOGGING),普通INSERT语句产生的redo值:1255940

非归档,T01(LOGGING),HINT /*+append*/,产生的redo值:2416

归档,T01(LOGGING),普通INSERT语句产生的redo值:1199344

归档,T01(LOGGING), HINT /*+ append*/,产生的redo值:1232780

归档,T01(LOGGING),/*+append*/ + nologging,产生的redo值:1233040

归档,T01(NOLOGGING),普通INSERT语句产生的redo值:688

归档,T01(NOLOGGING),HINT /*+append*/,产生的redo值:1199248


综合以上的数据,如果想INSERT语句执行的更快,产生更少的redo,分两种情况:

1. 非归档模式:在INSERT语句中使用HINT /*+ append */


2. 归档模式:将目标表修改为NOLOGGING(alter table xxx nologging),然后在INSERT语句中使用HINT /*+ append */.


3. 此外还可以采取并行的操作;drop掉索引约束之类,之后再重建恢复.


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31397003/viewspace-2640335/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2016-09-22

  • 博文量
    906
  • 访问量
    936725