oracle大量數(shù)據(jù)insert Oracle數(shù)據(jù)庫一次執(zhí)行大量的insert語句,怎樣優(yōu)化?
Oracle數(shù)據(jù)庫一次執(zhí)行大量的insert語句,怎樣優(yōu)化?1. 原始表中有多少數(shù)據(jù)?考慮是否可以刪除或禁用索引?插入后重新生成2。當業(yè)務(wù)空閑時,使用append和parallel進行insert3。
Oracle數(shù)據(jù)庫一次執(zhí)行大量的insert語句,怎樣優(yōu)化?
1. 原始表中有多少數(shù)據(jù)?考慮是否可以刪除或禁用索引?插入后重新生成
2。當業(yè)務(wù)空閑時,使用append和parallel進行insert
3。您還可以設(shè)置每1W提交一條記錄
批量插入Oracle數(shù)據(jù)
前兩天,您收到一個請求,需要通過編程將SQL server中的數(shù)據(jù)插入到Oracle中。大約有20萬張唱片。一開始,我使用了直接構(gòu)建sqlinsert的方法,但是花費了太長時間。為了提高性能,我在網(wǎng)上搜索信息。最后,利用數(shù)據(jù)適配器對Oracle進行批量插入以提高性能。
代碼如下:
1。直接生成SQL語句插入vb.NET代碼
2、使用DataAdapter批量插入vb.NET代碼
在我的環(huán)境中批量插入240000條注釋大約需要260秒。
似乎是。Net驅(qū)動程序提供了sqlbulkcopy類來提高海量數(shù)據(jù)導(dǎo)入的性能。有需要的朋友可以查看MSDN。
Oracle批量插入數(shù)據(jù)怎么做?
性能相對來說。批量插入比一般插入消耗更多的性能。與其他許多數(shù)據(jù)庫(如MySQL)相比,Oracle具有非常高的性能
1。常見的insert語句只能將一段數(shù)據(jù)插入數(shù)據(jù)庫:
insert into persons
]up.姓、名、城市)
值(204、“哈哈”、“鄧”、“申”
2。使用示例:
insert into persons
(IDup.Last name,first name,city)
values
](200,“haha”,“Deng”,“Shenzhen”),
(201,“hahaa2”,“Deng”,“GD”,
)(202,“hahaa3”,“Deng”,”,“Beijing”),這樣就可以批量插入數(shù)據(jù)。按照此語法,可以批量插入數(shù)據(jù)。
據(jù)說在程序開發(fā)中,一次插入多個數(shù)據(jù)比一次插入一個數(shù)據(jù)要有效得多。
因此,在程序開發(fā)中使用這種批量插入是非常好的。
此語句在MySQL5和PostgreSQL 9.3中執(zhí)行。