新聞中心
本文主要是通過介紹加速Oracle數(shù)據(jù)處理的相關(guān)實(shí)際應(yīng)用代碼來引出加速Oracle數(shù)據(jù)處理 ,如果你在加速Oracle數(shù)據(jù)處理 存在不解之處時(shí),你不妨瀏覽下面的文章,希望你能從中獲得自己想要的東西。

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:空間域名、網(wǎng)絡(luò)空間、營銷軟件、網(wǎng)站建設(shè)、左權(quán)網(wǎng)站維護(hù)、網(wǎng)站推廣。
一、提高DML操作的辦法:
簡單說來:
1、暫停索引,更新后恢復(fù).避免在更新的過程中涉及到索引的重建.
2、批量更新,每更新一些記錄后及時(shí)進(jìn)行提交動作.避免大量占用回滾段和或臨時(shí)表空間.
3、創(chuàng)建一臨時(shí)的大的表空間用來應(yīng)對這些更新動作.
4、批量更新,每更新一些記錄后及時(shí)進(jìn)行提交動作.避免大量占用回滾段和或臨時(shí)表空間.
5、創(chuàng)建一臨時(shí)的大的表空間用來應(yīng)對這些更新動作.
6、加大排序緩沖區(qū)
- alter session set sort_area_size=100000000;
- insert into tableb select * from tablea;
- commit;
如果UPDATE的是索引字段,就會涉及到索引的重建,暫停索引不會提高多少的速度,反而有可能降低UPDATE速度,
因?yàn)樵诟率撬饕梢蕴岣邤?shù)據(jù)的查詢速度,重建索引引起的速度降低影響不大。
ORACLE優(yōu)化修改參數(shù)最多也只能把性能提高15%,大部分都是SQL語句的優(yōu)化!
update總體來說比insert要慢 :
幾點(diǎn)建議:
1、如果更新的Oracle數(shù)據(jù)量接近整個(gè)表,就不應(yīng)該使用index而應(yīng)該采用全表掃描
2、減少不必要的index,因?yàn)閡pdate表通常需要update index
3、如果你的服務(wù)器有多個(gè)cpu,采用parellel hint,可以大幅度的提高效率
另外,建表的參數(shù)非常重要,對于更新非常頻繁的表,建議加大PCTFREE的值,以保證Oracle數(shù)據(jù)塊中有足夠的空間用于UPDATE, 從而降低CHAINED_ROWS。
二、各種批量DML操作:
(1)、oracle批量拷貝:
- set arraysize 20
- set copycommit 5000
- copy from username/password@oraclename append table_name1
- using select * from table_name2;
(2)、常規(guī)插入方式:
- insert into t1 select * from t;
為了提高速度可以使用下面方法,來減少插入過程中產(chǎn)生的日志:
- alter table t1 nologging;
- insert into t1 select * from t;
- commit;
(3)、CTAS方式:
- create table t1
- as
- select * from t;
為了提高速度可以使用下面方法,來減少插入過程中產(chǎn)生的日志,并且可以制定并行度:
- create table t1 nologging parallel(degree 2) as select * from t;
上述的相關(guān)內(nèi)容就是對加速Oracle數(shù)據(jù)處理的描述,希望會給你帶來一些幫助在此方面。
網(wǎng)站欄目:Oracle數(shù)據(jù)處理中的兩個(gè)操作方案
文章轉(zhuǎn)載:http://www.dlmjj.cn/article/dpoogjd.html


咨詢
建站咨詢
