亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

/*+APPEND*/插入性能的示例分析

發布時間:2021-11-05 09:28:41 來源:億速云 閱讀:238 作者:柒染 欄目:建站服務器

這篇文章給大家介紹/*+APPEND*/插入性能的示例分析,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

使用append提示進行insert叫做直接路徑加載插入。

【特點】

1使用這種提示因為系統不去查找freelist鏈表中的空閑塊,直接在高水標記位以上插入數據,因此速度比較快。但若是對于經常delete的表,浪費磁盤空間太大!

2它不記錄日志,因此一旦插入的數據在沒有保存回磁盤的時候發生掉電之類的狀況插入的數據不能重做。

3/*+append*/后,需要馬上提交,否則會影響下一次修改失敗(insert,update,delete)

在Oracle Database 10g Enterprise Edition Release 10.2.0.1.0中,如果插入操作的語法是

insert /*+append*/ into XXX values(XXX);

那么系統加的是row exclusive鎖,也就是正常insert所加的行級鎖,但是如果插入操作的語法是

insert /*+append*/ into XXX select XXX from XXX;

那么系統加的是exclusive鎖,相當于表級鎖,加表級鎖意味著在本會話沒有commit的時候其他任何會話都不能再進行insert,update,delete操作

檢查數據庫歸檔模式(NOARCHIVELOG、ARCHIVELOG):

Archive log list

或者

SELECT log_mode from v$database;

查看當前redo日志大小:

select name,value,class from v$sysstat where name='redo size';

或者打開統計,這個更準確地統計當前語句生成的redo,推薦使用

set autotrace traceonly statistics

普通插入方式:

insert into t select * from dba_objects;

append插入方式:

insert /*+append*/ into t select * from dba_objects;

Append+nologing插入方式:

insert /*+append*/ into t nologging select * from dba_objects;

【測試結論】

1、無論歸檔模式、還是非歸檔模式,append+nologing插入方式效果最好,生成最小的redo日志

2、非歸檔模式下,append插入模式效果不錯

3、歸檔模式下,append插入模式沒有效果

【我的測試】

從以下對比可以看出,增加hint方法,速度增加4 

 還真的有這么神,都是180萬行的表拷貝,我的測試如下:

insert into p_nbsc_ho1 select * from p_nbsc_ho (消耗時間73分鐘)

insert /*+append*/ into p_nbsc_ho2 select * from p_nbsc_ho (消耗時間7分鐘)

弊端:

insert /*+append*/ 如果不commit的話,會對該表加6級鎖,也就是說,即使此時select 這個表都會報錯。

因此append提示的語句首先不能是業務表,其次要盡快提交commit,所以一般情況不敢用hint了。

關于/*+APPEND*/插入性能的示例分析就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

涟源市| 读书| 怀来县| 大余县| 多伦县| 任丘市| 永德县| 沂水县| 青龙| 遂昌县| 东丽区| 昭平县| 河西区| 五原县| 诏安县| 阳江市| 德江县| 黑水县| 西吉县| 安新县| 西乌珠穆沁旗| 开平市| 揭西县| 始兴县| 奉新县| 鄄城县| 鹤壁市| 同江市| 九台市| 秦安县| 夏津县| 宝鸡市| 柘荣县| 饶河县| 永胜县| 阜平县| 孟州市| 射洪县| 建湖县| 双流县| 仁怀市|