neo4j查询路径很慢问题
发布于 4 年前 作者 rickyli53 2269 次浏览 来自 问答

各位好,我想用neo4j存储网络拓扑的时候碰到一个查询的问题,我建了一个26个节点的双向图,其中有96条关系,拓扑见附件: 我想查两个节点之间的路径,用的查询语句1: match path = (x:idc{name:‘idc1’})-[:Direct*]- > (y:idc{name:‘idc2’}) RETURN path 语句2(在网上看到可能是因为图中有环路的原因): match path = (x:idc{name:‘idc1’})-[:Direct*]- > (y:idc{name:‘idc2’}) UNWIND NODES(path) AS n WITH path, SIZE(COLLECT(DISTINCT n)) AS testLength WHERE testLength = LENGTH(path) + 1 RETURN path

查询速度特别慢,并且destop会出现crush的情况,所有请问各位大佬我这查询是不是写的有问题?tp.png

3 回复

楼主:查询两点之间路径,现在用的是什么cypher了 ,我也遇到效率问题了

你这是求所有路径,这个结果集 会非常巨大吧,应该会卡死 ,如果改成求最短路径 是不会卡死的

路径的条数最好设置个上限和方向,不然可能性太多,你应该是不需要所有的可能路径。

回到顶部