【问题标题】:Neo4j proper indexes for queryNeo4j 正确的查询索引
【发布时间】:2021-12-02 01:40:17
【问题描述】:

大型数据库中的下一个查询几乎需要一分钟。

MATCH (p1:Politician)-[r1:mentioned_by]->(c:Channel {name: "TN"})<-[r2:mentioned_by {video_id: r1.video_id}]-(p2:Politician)
    WHERE p1.fullname < p2.fullname 
    WITH DISTINCT p1.fullname AS x, p2.fullname AS y
    RETURN COUNT(*) AS rows

我在 Channel 节点的 name 属性上添加了一个索引,并保存了至少 10 秒,但总而言之,查询需要 50 秒,这已经很多了。 关于创建哪个索引有什么建议吗?

【问题讨论】:

    标签: neo4j


    【解决方案1】:

    您的查询需要时间的原因之一可能是您正在比较属性,这需要“打开”许多节点。 显然,您假设 fullName 不是唯一标识符。否则我会在该属性上创建一个唯一约束并将 p1 与 p2 进行比较

    【讨论】:

    • 不错的建议,虽然我试过了,但并没有让它更快。
    猜你喜欢
    • 2017-11-14
    • 1970-01-01
    • 2018-08-10
    • 1970-01-01
    • 1970-01-01
    • 2017-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多