【发布时间】:2015-02-17 10:06:39
【问题描述】:
如果我这样做:
from py2neo import Graph
graph = Graph()
stuff = graph.cypher.execute("""
match (a:Article)-[p]-n return a, n, p.weight
""")
在包含大量文章和链接的数据库上,查询需要很长时间并使用我系统的所有内存,大概是因为它一次性将整个结果集复制到内存中。是否有某种基于游标的版本,我可以一次遍历一个结果,而不必一次将它们全部保存在内存中?
编辑
我找到了stream 函数:
stuff = graph.cypher.stream("""
match (a:Article)-[p]-n return a, n, p.weight
""")
根据文档,这似乎是我想要的,但现在我收到超时错误 (py2neo.packages.httpstream.http.SocketError: timed out),然后服务器变得无响应,直到我使用 kill -9 杀死它。
【问题讨论】: