在https://neo4j.com/docs/operations-manual/3.3/performance/statistics-execution-plans/,我们看到下表:
控制必须更新的索引的百分比 在触发新的采样运行之前。
"采样"意思?为什么更新使索引无效?我知道来自关系数据库的索引,在这种情况下,不需要维护索引(添加/删除行对应于在某些BTree中添加/删除节点)。
有人为什么需要重新采样Neo4j中的索引?
答案 0 :(得分:3)
索引始终有效。
定期采样生成Cypher执行计划程序使用的统计信息,因此可以生成更适合数据库当前状态的计划。
引用operations manual(比你问题中的表稍早一点):
发出Cypher查询时,会将其编译为执行计划 可以运行并回答查询。 Cypher查询引擎使用 有关数据库的可用信息,例如架构信息 关于数据库中存在哪些索引和约束。 Neo4j也 使用有关数据库的统计信息来优化 执行计划。