oracle按條件批量更新 特定配置下Oracle日志批量提交的最優(yōu)數(shù)量指的是什么?
特定配置下Oracle日志批量提交的最優(yōu)數(shù)量指的是什么?建議您將這150萬條記錄按一定條件分成若干部分,編寫一個存儲過程,依次執(zhí)行,執(zhí)行完一個部分后再提交一個部分。這樣,減少了內(nèi)存需求,防止了更新錯誤
特定配置下Oracle日志批量提交的最優(yōu)數(shù)量指的是什么?
建議您將這150萬條記錄按一定條件分成若干部分,編寫一個存儲過程,依次執(zhí)行,執(zhí)行完一個部分后再提交一個部分。這樣,減少了內(nèi)存需求,防止了更新錯誤,并且在回滾上花費了大量時間。
Oracle批量數(shù)據(jù)插入60000條以上,速度變的很慢,而且中間會斷。求解決方案?
批量提交,例如一次提交5000件。如果可以的話,建議使用sqlloader來插入
來加快Oracle數(shù)據(jù)庫的數(shù)據(jù)插入速度。方法:從編程的角度出發(fā),建議使用綁定變量實現(xiàn)一次預(yù)編譯、多次執(zhí)行的效果。如果不使用綁定變量,數(shù)據(jù)庫每次都會分析SQL并消耗資源。
2使用Oracle提供的批處理接口,減少網(wǎng)絡(luò)傳輸次數(shù),提高效率
3適當(dāng)增加提交間隔,提交指令消耗更多數(shù)據(jù)庫資源,提交前盡量插入更多數(shù)據(jù)。1000多條建議。
4. 使用insert語句的hint(如append)和nologing選項來減少數(shù)據(jù)庫日志注冊。
5. 從數(shù)據(jù)庫的角度考慮使用多進(jìn)程插入或并行提示插入
1。將表更改為nologing模式,這樣就不需要注冊回滾日志了
2。對表進(jìn)行分區(qū),使不同的分區(qū)落在不同的硬盤上
3。刪除表的索引,插入數(shù)據(jù)后還原
4。增加數(shù)據(jù)庫緩沖區(qū)
5使用SSD存儲和其他高效硬盤作為數(shù)據(jù)庫存儲
其他詳細(xì)信息:
例如,將程序部署到數(shù)據(jù)庫服務(wù)器上,然后進(jìn)行操作以減少網(wǎng)絡(luò)消耗
將數(shù)據(jù)程序輸出日志插入硬盤
~]--下面是我根據(jù)您的描述進(jìn)行的測試,希望對您有所幫助:-新建一個表kongxinji(avarchar2(200))--根據(jù),然后提交:insert to Kong Ji(a)values(“12345(6)789”)insert to Kong Ji(a)values(“12345(67)89”)insert to Kong Ji(a)values(“12345(678)9”)commitselect*from Kong Ji--去掉a中的括號,然后提交。在此步驟中,您可以查看表中數(shù)據(jù)的更改:update To Kong Xi anseta=replace(a,substr(a,”),(INS tr(a,”)”-instr(a,”(”)1)),””)COMMITSELECT*from kongxianji