首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Neo4j中的查询慢

Neo4j中的查询慢
EN

Stack Overflow用户
提问于 2013-10-10 22:22:39
回答 1查看 251关注 0票数 0

我刚开始使用Neo4j,并在neo4j中设置了一个测试图db,用于组织一些单击流数据,其中包含了我们日常使用的非常小的子集。这个图有大约2300万个节点和3400万个关系。这些查询似乎要花费很长时间才能运行,也就是说,即使在等待了30多分钟之后,我也没有看到响应返回。

数据组织为年->月->日->会话{1.n}->Event{1.n}

我在Windows7机器上运行数据库,将1.5GB的堆分配给Neo4j服务器

这些是新4j包装器中的配置。

代码语言:javascript
复制
wrapper.java.additional.1=-Dorg.neo4j.server.properties=conf/neo4j-server.properties
wrapper.java.additional.2=-Djava.util.logging.config.file=conf/logging.properties
wrapper.java.additional.3=-Dlog4j.configuration=file:conf/log4j.properties

wrapper.java.additional.6=-XX:+UseParNewGC

wrapper.java.additional.7=-XX:+UseConcMarkSweepGC

wrapper.java.additional.8=-Xloggc:data/log/neo4j-gc.log

wrapper.java.initmemory=1500

wrapper.java.maxmemory=1500

这就是我的查询

代码语言:javascript
复制
START n=node(3)
MATCH (n)-[:HAS]->(s)
WITH distinct s
MATCH (s)-[:HAS]->(e) WHERE e.page_name = 'Login'
WITH s.session_id as session, e
MATCH (e)-[:FOLLOWEDBY*0..1]->(e1) 
WITH count(session) as session_cnt, e.page_name as startPage, e1.page_name as nextPage
RETURN startPage, nextPage, session_cnt

此外,我还设置了以下属性

代码语言:javascript
复制
node_auto_indexing=true
node_keys_indexable=name,page_name,geo_country
relationship_auto_indexing=true

有人能帮我找出可能出了什么问题吗。

即使在运行部分查询时,也需要10-15分钟才能看到响应。

注意:我在Windows机器上没有其他应用程序正在运行

EN

回答 1

Stack Overflow用户

发布于 2022-07-16 22:56:04

为什么首先要返回所有节点?

如果您真的想这样做,请使用事务性http端点和curl来流响应:

我用一个包含100 k节点的数据库对它进行了测试。在电线上传输它们(1.5MB)需要0.9秒。如果使用“返回n”传输它们的所有属性,则需要1.4秒,结果是4.1MB传输。

如果您只想知道数据库中有多少节点。用这样的方法代替:

匹配(n)返回计数(*);

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19307247

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档