- 概述
APOC扩展包中的查询任务管理提供相关过程帮助将复杂查询分解成较小的批次迭代执行,从而减少事务处理的开销、提高内存使用效率。
Cypher的LOAD CSV语句允许通过USING PERIODIC COMMIT 指定批次大小,以减小更新事务的规模、提高性能并降低对内存(主要是Java堆内存/Heap Memory)的需求。对于其他Cypher语句,例如CREATE、MERGE等更新数据库操作,可以在APOC的任务管理相关过程中执行、以达到同样的效果。
通过APOC任务管理提交的批处理任务多数在后台以异步方式运行,默认情况下线程池的大小 = 处理器内核数 x 2,可以通过以下设置修改线程池大小:
neo4j.conf |
|
计划任务依赖调度执行器来执行。调度执行器的线程池也有默认固定大小 = 处理器内核数 / 4 (至少为1)。可以使用以下配置属性配置池大小:
neo4j.conf |
|
APOC提供以下任务管理过程,它们均包含在apoc.periodic.*子库中。
过程名 |
接口 |
功能 |
apoc.periodic.commit |
CALL apoc.periodic.commit( |
从给定节点出发寻找扩展路径,支持基本配置。 |