2

我正在尝试使用 java 驱动程序找出我的 Cypher 查询的执行时间。

Session session = driver.session();
session.run( "CREATE (a:Person {name:'Arthur', title:'King'})" );
StatementResult result = session.run( "Profile MATCH (a:Person) WHERE a.name = 'Arthur' RETURN a.name AS name, a.title AS title" );

但我在StatementResultResultSummary中的任何地方都找不到它,它由StatementResult.consume(query).

ProfiledPlan我可以从in访问 db hits ,ResultSummary但没有关于时间的信息。

有什么方法可以使用 neo4j java 驱动程序访问 Cypher 查询执行时间?

4

1 回答 1

2

由于 Neo4j Java 驱动程序版本 1.1.0 有:

/**
 * The time it took the server to make the result available for consumption.
 *
 * @param unit The unit of the duration.
 * @return The time it took for the server to have the result available in the provided time unit.
 */
long resultAvailableAfter( TimeUnit unit );

/**
 * The time it took the server to consume the result.
 *
 * @param unit The unit of the duration.
 * @return The time it took for the server to consume the result in the provided time unit.
 */
long resultConsumedAfter( TimeUnit unit );

它为您提供两种时间:

  1. 到第一个字节的时间
  2. 完整的执行时间,包括从服务器消费数据

方法本地化在org.neo4j.driver.v1.summary.ResultSummary接口上。

于 2017-01-02T11:04:32.500 回答