【Oracle】append
我們在生產(chǎn)環(huán)境中經(jīng)常遇到需要往表中插入大量數(shù)據(jù)的情況,怎么樣才能讓插入數(shù)據(jù)的速度變快呢?Oracle中的append簡直就是神器!!沒圖說個**,直接上圖:
是不是看暈了?哈哈,莫慌,請看下面總結(jié):
1. 數(shù)據(jù)庫為歸檔模式,必須同時有nologging和append才可以;
2. 數(shù)據(jù)庫為非歸檔模式,只需要append就可以了。
為什么使用了append就能提高速度呢?這是因為append可以使數(shù)據(jù)庫在高水位線之上直接插入數(shù)據(jù),相對于普通插入,在做rollback的時候需要更少的操作(加了append后的insert,在做rollback時直接把高水位線降到原來位置),所以就可以產(chǎn)生更少的redo。
PS:提供一下實驗可能會用的SQL
1. 查詢數(shù)據(jù)庫狀態(tài)
(1)SELECT name,log_mode FROM v$database;
(2)ARCHIVE LOG LIST;
2. 修改數(shù)據(jù)庫歸檔狀態(tài)
步驟1:shutdowm immediate
步驟2:startup mount
步驟3:alter database archivelog; 或者 alter database noarchivelog;
步驟4:alter database open;
3. 查詢redo和undo量
select name,value from (select b.name,a.value from v$mystat a,v$statname b where a.STATISTIC#=b.statistic#) where name='redo size' or name like 'undo change%';
The End!
總結(jié)
以上是生活随笔為你收集整理的【Oracle】append的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MySQL索引的建立与实现
- 下一篇: substrate 编译出错unreso