我创建了一个控制台应用程序,它将数据从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 :(得分:0)
您可以将代码发布到RavenDB,这可能是瓶颈所在。你应该同时提出请求。
环境:
HttpJsonRequest.ConfigureRequest += (e,x)=>((HttpWebRequest)x.Request).UnsafeAuthenticatedConnectionSharing = true;
以及批量处理插入记录。
至于插入性能,您可能永远不会匹配SQLServer,因为RavenDb针对读取与写入进行了优化。