使用 Neo4j java 驱动程序的 Cypher 查询执行时间
Cypher query execution time with Neo4j java driver
我正在尝试使用 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" );
但是我在 StatementResult or in the ResultSummary 中的任何地方都找不到它,它是由 StatementResult.consume(query)
返回的。
我可以在 ResultSummary
中访问来自 ProfiledPlan
的数据库命中,但是没有关于时间的信息。
有什么方法可以使用 neo4j java 驱动程序访问 Cypher 查询执行时间?
从 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 );
它为您提供了两个时间:
- 到第一个字节的时间
- 完整的执行时间,包括使用来自服务器的数据
方法位于 org.neo4j.driver.v1.summary.ResultSummary
接口上。
我正在尝试使用 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" );
但是我在 StatementResult or in the ResultSummary 中的任何地方都找不到它,它是由 StatementResult.consume(query)
返回的。
我可以在 ResultSummary
中访问来自 ProfiledPlan
的数据库命中,但是没有关于时间的信息。
有什么方法可以使用 neo4j java 驱动程序访问 Cypher 查询执行时间?
从 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 );
它为您提供了两个时间:
- 到第一个字节的时间
- 完整的执行时间,包括使用来自服务器的数据
方法位于 org.neo4j.driver.v1.summary.ResultSummary
接口上。