重新启动数据库后基本密码查询的Neo4j性能

重新启动数据库后基本密码查询的Neo4j性能,neo4j,Neo4j,我有一个基本的neo4j数据库,有10个节点(没有关系)。我正在运行嵌入式模式并启动服务器/webadmin,如下所示: GraphDatabaseService graphDb; graphDb = new GraphDatabaseFactory().newEmbeddedDatabaseBuilder("/path/to/data/directory").newGraphDatabase(); WrappingNeoServer srv = new WrappingNeoServer((G

我有一个基本的neo4j数据库,有10个节点(没有关系)。我正在运行嵌入式模式并启动服务器/webadmin,如下所示:

GraphDatabaseService graphDb;
graphDb = new GraphDatabaseFactory().newEmbeddedDatabaseBuilder("/path/to/data/directory").newGraphDatabase();
WrappingNeoServer srv = new WrappingNeoServer((GraphDatabaseAPI) graphDb);
srv.start();
创建节点后,查询性能良好,但当我重新启动服务器时,基本密码查询的查询性能会变慢。以下查询大约需要1-3秒:

MATCH (n) RETURN count(n);
在重新启动之前(在创建节点之后),此查询小于100ms

以下是我正在使用的数据目录的链接:

我正在运行2.0.1版

是什么导致了这种缓慢的性能

  • 必须初始化数据库,设置内存映射
  • 必须从磁盘加载节点
  • Cypher查询解析器必须首先建立它的规则
  • 您的查询必须被解析并放入缓存中
  • 更多
  • 这就是为什么永远不要相信性能度量的前100-1000个查询

  • 必须初始化数据库,设置内存映射
  • 必须从磁盘加载节点
  • Cypher查询解析器必须首先建立它的规则
  • 您的查询必须被解析并放入缓存中
  • 更多
  • 这就是为什么永远不要相信性能度量的前100-1000个查询

  • 必须初始化数据库,设置内存映射
  • 必须从磁盘加载节点
  • Cypher查询解析器必须首先建立它的规则
  • 您的查询必须被解析并放入缓存中
  • 更多
  • 这就是为什么永远不要相信性能度量的前100-1000个查询

  • 必须初始化数据库,设置内存映射
  • 必须从磁盘加载节点
  • Cypher查询解析器必须首先建立它的规则
  • 您的查询必须被解析并放入缓存中
  • 更多
  • 这就是为什么永远不要相信性能度量的前100-1000个查询