2012-03-22 29 views
1

我創建了一個控制檯應用程序,它將數據從Sql數據庫發送到RavenDB。快速發送Sql數據到RavenDB的方法?

我有一個奇怪的數據量傳輸,所以它需要一個非常長的時間。 (1,000,000行需要RavenDB大約2小時的存儲空間)

RavenDB比導入控制檯應用程序從Sql Server收集的數據需要更長的時間。

有沒有什麼辦法來加快轉移或可能是一個現有的工具,它已經這樣做?

 using (var session = this._store.OpenSession()) 
     { 
      //row.Count is never more than 1024 
      while (i < row.Count) 
      { 
       session.Store(row[i]); 
       i++; 
      } 
      session.SaveChanges(); 
     } 

回答

0

您可以發佈代碼插入到RavenDB的位置,這可能是瓶頸所在。你應該同時提出請求。

設置:

HttpJsonRequest.ConfigureRequest += (e,x)=>((HttpWebRequest)x.Request).UnsafeAuthenticatedConnectionSharing = true; 

除了在批量處理您插入記錄。

至於插入性能,您可能永遠不會匹配SQLServer,因爲RavenDb已針對讀取和寫入進行了優化。