高效能,大資料量儲存方案SqlBulkCopy

2021-06-19 08:06:26 字數 865 閱讀 2302

原文:高效能,大資料量儲存方案sqlbulkcopy

前些日子,公司要求做乙個資料匯入程式,要求將excel資料,大批量的匯入到資料庫中,盡量少的訪問資料庫,高效能的對資料庫進行儲存。於是在網上進行查詢,發現了乙個比較好的解決方案,就是採用sqlbulkcopy來處理儲存資料。sqlbulkcopy儲存大批量的資料非常的高效,就像這個方法的名字一樣,可以將記憶體中的資料表直接的一次性的儲存到資料庫中,而不需要一次一次的向資料庫insert資料。初次實驗,百萬級別的資料表,也只需幾秒時間內就可以完全的存入資料庫中,其速度,比傳統的insert方法不止快很多倍。下面,我將用**,介紹其用法。

//////

laborreport data import to database

///

///laborreport data table

///laborreportdetail data table

public

void

laborreportinsert(datatable laborreport, datatable laborreportdetail)

using

(sqlbulkcopy sqlbclaborreportdetails

=new

sqlbulkcopy(conn))

if(conn.state

!=connectionstate.closed)

conn.close();}}

上邊的示例**,將記憶體中的兩個datatable 資料一次性的存入資料庫中,只要記憶體中的資料**的結構跟資料庫中的**結構一樣,就可以了,如果資料庫中包含自增列字段,我們可以不需要在記憶體表中定義,當資料儲存到資料庫中的時候,自增列會自動生成資料的。

c 大資料量比較時 方案

1 當面臨千萬條資料量的比較時,從技術的角度來說應該用泛型鍵值 c 鍵值由於用了雜湊演算法速度很快 例如前幾天我需要查的是 航空公司 出發 到達 返點可以將 航空公司 出發 到達做乙個鍵,返點作為值。if dtsourcebt.rows.count 0 else 2 從業務角度來優化,這點很重要。因...

提高WebService效能大資料量網路傳輸處理

1 直接返回dataset物件 xmlnamespace prefix p 特點 通常元件化的處理機制,不加任何修飾及處理 優點 精減 易於處理,小資料量處理較快 缺點 大資料量的傳遞處理慢,消耗網路資源 建議 當應用系統在內網 專網 區域網 的應用時,或外網 廣域網 且資料量在kb級時的應用時,採...

SQL大資料量分頁效能優化

目前在進行web api唯讀介面的改造,在改造過程中,發現改在後響應時間和之前區別不是很大,通過測試結果顯示在sql的分頁功能處找到原因,並對其進行優化,優化方案如下。測試內容 此次執行時間對比採用平台資金記錄最多的使用者 user id 36062 測試次數未5次 為避免索引快取每次測試前更改 l...