相同的Neo4j Cypher在循环时变慢

时间:2014-04-28 07:23:42

标签: c# neo4j

我正在使用Neo4jClient和c#。现在我有一些像这样的代码:

client.Cypher
                    .Merge("(u:User { UniqueIdInItsApp: {id} , AppId: {appId} })")
                    .ForEach("(f in {friends} | MERGE (u)-[:" + FriendRelation + "]->(:User {UniqueIdInItsApp: f,AppId:{appId}}))")
                    .WithParams(new
                    {
                        id = friendsFromId,
                        appId = _appId,
                        friends = friendsToId
                    }).ExecuteWithoutResults();

我有一个循环来调用上面的代码。但似乎变慢了。当第一次在循环中运行时,它可能花费0.5秒,但最后一次循环运行可能花费5秒。我无法弄清楚它为什么会发生。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

您是否在:用户标签上定义了索引?我相信您会遇到2.0版本中忽略的性能问题。这应该已经在新的里程碑2.1.0-M02中得到​​解决,您可以尝试一下,看看问题是否仍然存在?