2012-03-22 44 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已针对读取和写入进行了优化。