关于java通过driver连接Neo4j处理结果很慢的问题
Session session = getSession(); try { StatementResult result = session.run(cql); LOGGER.info(“run ending…”); recordList = result.list(); if (null == recordList || recordList.isEmpty()) { throw new BzException(" 该实体无关系。 "); } LOGGER.info("getCollectRelationList() end. "); } catch (BzException be) { throw new BzException(be.getMessage());
当前Neo4j库里存在900万个实体,cql为搜索某个实体的属性和关系实体,关系实体的搜索结果为900+个。 如上述代码,在session.run()时,只需要30ms;但是后续再StatementResult的list()方法时,需要耗时4s。 当把搜索关系的脚本去掉,只搜索当前实体,list()方法还是耗时1.5s左右,不知道大家有没有碰到过这种问题。