我正在一个非常大的(8.2M节点,63M属性)neo4j数据库实例上创建一个索引。
CREATE INDEX ON :Article(lowerTitle)
发出命令需要的时间可以忽略不计,索引(可能)开始处理。
我有一个100GB的最大java堆,以及40个核心(它是一个大型服务器)。然而,它是一个愚蠢的硬盘驱动器。
发出index命令后,我的核心使用率非常高效。大约20秒后,它几乎没有处理器功率,但大约是MEM的90%。
我让它运行了3个小时,但索引仍未创建(或者至少,对单个参数的简单MATCH查询没有任何改进,平均约为16秒)。
MATCH (arti {lowerTitle: "quantum mechanics"}) RETURN arti
这合理吗?花了这么长时间?我做错了吗?
注意:我还注意到我的总数据库大小(38.02GB)在3小时内没有增加
答案 0 :(得分:1)
要验证索引是否在线,请在浏览器中发出:schema
命令。
您应该会看到您的索引状态。
您的查询永远不会快速运行,因为您没有使用标签,因此不会使用任何索引,请将其更改为:
MATCH (arti:Article {lowerTitle: "quantum mechanics"}) RETURN arti