gpt4 book ai didi

neo4j - 用于记录正在进行的事务的数据库模型

转载 作者:行者123 更新时间:2023-12-04 15:56:48 24 4
gpt4 key购买 nike

我以前作为关系数据库人员时习惯于使用表格来记录正在进行的事件。我想知道如何在 neo4j 数据库中存储正在进行的信息,如事务、日志或其他任何内容。假设我有一个帐户,该帐户已分配给用户 A:

(u:User {name:"A"})

我想跟踪他所做的交易,例如扣除或增加值(value):

(t:Transaction {value:"-20", date:timestamp()})

我是否会为每笔交易创建一个新节点并将其分配给用户:

(u) -[r:changeBalance]-> (t)

最后,我可能有很多节点分配给用户并保留一个事务,每个事务导致很多节点只有一个信息。我在考虑是否对最后 50 个事务有限制的查询(限制 50,按 t.date 排序)可能仍然必须读取所有可用的事务节点以在限制适用之前获取总排序队列 - 这似乎有点不正常.

您将如何为 neo4j 数据库中的操作列表建模?非常感谢任何提示。

最佳答案

如果您使用如下所示的简单查询,您将不会读取每个用户所有 Transaction 节点。

MATCH (u:User)-[r:ChangeBalance]->(t:Transaction)
RETURN u, t
ORDER BY t.date;

您只会读取与每个User直接相关Transaction节点(通过ChangeBalance 关系)。因此,性能不会像您担心的那样糟糕。

关于neo4j - 用于记录正在进行的事务的数据库模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32567603/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com