使用 Bulk Copy 將大量資料複製到資料庫

2022-09-17 20:36:13 字數 1456 閱讀 8929

如果一次要向資料庫伺服器提交多條記錄 , 通常會執行多次insert命令 , 這樣就為要插入的每個記錄執行一次與資料庫伺服器的往返 , 這就給伺服器增加了壓力 , 效率也大大的降低了...

.net framework 2.0 新增功能 bulk copy 可以很快將大量資料載入到資料庫中 , 現在利用這一新功能來實現上述功能.

這裡從 ms sql server 2000 的 northwind 的 orders 表載入資料到 datetable 模擬要向資料庫伺服器提交的多條記錄集 . 用 tempdb 庫來模擬目標資料庫伺服器 .

先在 tempdb 建乙個表 temp_orders

usetempdb

create

table

temp_orders

(temp_orderid 

int,

temp_customerid 

nchar(5

),temp_orderdate 

datetime

,temp_shipname 

nvarchar(40

))下面為模擬程式

protected

void

page_load(

object

sender, eventargs e)

}#endregion

using

( sqlconnection tempdbconnection 

=new

sqlconnection( 

"data source=.;initial catalog=tempdb;integrated security=true

") )

catch

( exception ex )

finally}}

}private

void

onrowscopy ( 

object

sender , sqlrowscopiedeventargs args )

通過sql server 事件探察器發現執行的sql為:

insert

bulk

temp_orders (

[temp_orderid

]int, [

temp_customerid

]nchar(5

) collate chinese_prc_ci_as, 

[temp_orderdate

]datetime, [

temp_shipname

]nvarchar(40

) collate chinese_prc_ci_as)

通過執行程式可以看出這個速度是相當的快 , 使用這個方法的最大優點是 : 減少對資料庫的訪問次數 .

writetoserver不僅可以處理 datatable 物件 , 還可以處理 datareader , datarow 物件陣列 .  

簡單使用POI技術,將大量資料匯出Excel表

首先匯入框架所需要的三個jar包 使用fileoutputstream流建立 xlsx 的本地資料夾 然後使用的是org.apache.poi.xssf.streaming.sxssfworkbook這個物件進行對excel表的操控,這個物件可以操作大資料量的匯出,之前使用的是hssfworkboo...

Python使用SQLite插入大量資料耗時問題

使用python爬蟲 ip時,最先使用了sqlite作為儲存ip資料庫,sqlite簡單 靈活 輕量 開源,和檔案系統一樣。而當大量插入爬取的資料時,出現了嚴重的耗時,檢視一起資料後,發現 sqlite在每條insert都使用commit的時候,就相當於每次訪問時都要開啟一次檔案,從而引起了大量的i...

將printf 顯示的大量資料,儲存為txt文件

由於c執行結果的時候,執行命令的顯示視窗不能顯示大量資料,所以,選擇將其儲存為txt文字格式,有多少,儲存多少。程式 正確 include stdio.h include int main int argc,const char argv int i fp fopen b.txt w if fp n...