gpt4 book ai didi

Neo4j 密码查询性能下降

转载 作者:行者123 更新时间:2023-12-03 17:53:15 24 4
gpt4 key购买 nike

我尝试了给出的示例 here经过一些小的修改 - 主要是我添加了一个没有匹配的 where 子句 - 用于实验目的。

在我的系统(1.9.M04 - java 6u43 - ubuntu 12.04 - AMD phenom II -X6 1090T)上,简单的查询

数据库中只有 1 个节点(也嵌入)需要 262 毫秒。显然有些事情出错了。可能是什么问题呢 ?

谢谢

public void test()
{
GraphDatabaseService db = g = new GraphDatabaseFactory().newEmbeddedDatabase("./neo4j1test" );

long id;
Transaction tx = db.beginTx();
try
{
Node refNode = db.createNode();
id = refNode.getId();
refNode.setProperty( "name", "reference node" );
tx.success();
}
finally
{
tx.finish();
}


ExecutionEngine engine = new ExecutionEngine( db );
ExecutionResult result = engine.execute( "start n=node("+id+") where ( n.name = \"reference node\") return n.name" );
long time = System.currentTimeMillis();
result = engine.execute( "start n=node("+id+") where ( n.name = \"reference node\") return n.name" );
time = (System.currentTimeMillis() - time);
System.out.println("Time taken : " + time + " ms.");
}

最佳答案

您可能想要索引您的 name 属性(请参阅 indexing )。之后,您可以这样查询:

START n=node:your_index_name("name:the_indexed_name") RETURN n;

通过索引查找节点比通过 WHERE 子句过滤要快得多。

关于Neo4j 密码查询性能下降,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15427039/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com