千家信息网

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

发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,http://blog.itpub.net/25834554/viewspace-1054672/非归档,T01(LOGGING),普通INSERT语句产生的redo值:1255940非归档,T01(
千家信息网最后更新 2025年01月20日关于加快INSERT语句执行速度和 HINT /*+ append*/及nologging的使用

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掉索引约束之类,之后再重建恢复.


0