我使用Neo4j API批量插入数百万条记录,如果单独执行,通常要花费更长的时间。导入完成的速度要快得多,但我没有看到我插入的数百万条记录。Neo4j是否为批处理插入保留某种形式的队列并随时间进行插入?
如果是的话,我怎样才能看到这个队列的进展?我正在做一个统计,我注意到记录在增加,但速度非常缓慢。
我使用的是Neography创业板的批处理插入(https://github.com/maxdemarzi/neography/wiki/Batch),进行批处理插入的代码如下:
User.find_in_batches(batch_size: 500) do |group|
$neo4j.batch(*group.map { |user| ["create_unique_node", "users", "id", user.id, user.graph_node_properties] })
end在Ubuntu12.04LTS上运行Neo4j 2.1.2企业版。
发布于 2014-07-27 20:22:59
完成插入后,是否正确关闭了批处理插入器?
您使用的是哪个Neo4j版本和操作系统?
还要确保内存配置是正确的。正确配置节点和关系存储之前的内存映射,请参阅Rik的博客文章。
它不是队列,而是直接写入这些记录。你是如何“检查”和计数的?您不能同时访问数据库。
你能分享你的代码吗?
https://stackoverflow.com/questions/24984879
复制相似问题