0
Neo4j的關係寫入性能我評估的Neo4j在交互式應用程序使用的數據存儲。有了下面的代碼,我可以增加一個40毫秒左右的關係,這對我們的需求來說太慢了,因爲我們的模型可以有數萬個關係。 這是典型的表現嗎?任何改進代碼的提示?我測試了12種關係類型和6652個關係。與Neo4j.Driver.V1
using (var session = driver.Session())
{
foreach (var relationType in relationTypes)
{
var nodeArray = relationType.Value.Select(n => new Dictionary<string, string> {{"from", n.Item1}, {"to", n.Item2}}).ToArray();
var dictionary = new Dictionary<string, object> {{"nodes", nodeArray}};
var relationCommand =
string.Format(
"UNWIND $nodes as node WITH node.from as from, node.to as to "
+ "MATCH (f {{nodeId:from}}), (t {{nodeId:to}}) "
+ "CREATE (f)-[:" + relationType.Key + "]->(t) ");
session.Run(relationCommand, dictionary);
}
}
您不使用任何標籤,因此沒有唯一的約束/索引。您的查詢完全沒有優化 –
它肯定沒有優化。 :)好的,所以需要標籤才能使MATCH高效? –
標籤+的屬性索引/唯一約束你匹配(在此節點ID),以便查找是O(1)+ 1:標籤+物業 –