c# - 如何在 OrientDB .Net API 中执行 Massiveinsert?

标签 c# .net orientdb

我正在使用 OrientDB-NET Library但没有找到任何有效的批量插入解决方案。我在近 6K 顶点之间有 1M 边,目前我正在使用以下代码,在我的机器 Core i7 第六代,2.5GHz,8GB RAM 上需要大约 30 分钟(与 SQL Server 数据加载相比,性能确实最差)。
在 Java API 中找到了 MassiveInsert 的解决方案。但是在.NET 中没有找到任何解决方案。

object locker = new object(); 
Parallel.ForEach(_listRating, r=>
{
    lock (locker)
    {
      oDB.Command(" create edge rated from (select from Users where userID = " + r.userID + ") to (select from Movies where MovieID = " + r.movieID + "  ) set rating =" + r.Ratings + "  ");

    }
});             

最佳答案

如果你想发送多个 create edge 作为一个查询使用 SQL Batch

begin;
  CREATE EDGE E FROM #34:3349  TO #32:3349;
  CREATE EDGE E FROM #41:10971 TO #33:3348;
  ...
commit retry 100;

在我的例子 (PHP) 中,加速度非常高。

关于c# - 如何在 OrientDB .Net API 中执行 Massiveinsert?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34530248/

相关文章:

c# - SmtpClient.Send 失败,出现 System.FormatException : Smtp server returned an invalid response

etl - 通过 Orientdb ETL 添加 Edge 属性

orientdb - OrientDB 中简单选择查询的错误结果

c# - 如何建立这种 EF 关系?

c# - 如何针对不同版本的外部 dll api 对我的项目进行单元测试?

c# - 是否应该隐藏 Azure Key Vault URL?

.net - 创建需要类型信息的 MVC3 ValueProviderFactories?

c# - 免费的 C# 表格/图表组件

javascript - 将现有关系数据库(MySQL)转换为图形数据库(OrientDB)

c# - 是否可以将 .NET 类转换为 COM 库类?