知识库

Neo4j 当前事务提交过程顺序

Neo4j 中的事务使用 **读取已提交**(read‑committed)隔离级别,这意味着事务会在数据提交后立即看到这些数据,但不会看到尚未提交的其他事务中的数据。该隔离级别比串行化(serialization)更弱,但在提供显著性能优势的同时,已足以满足绝大多数场景的需求。

此外,Neo4j Java API 允许显式锁定节点和关系。通过加锁,可以显式获取和释放锁,从而模拟更高级别隔离的效果。例如,如果对某个公共节点或关系加写锁,则所有事务都会在该锁上进行序列化——产生相当于串行化隔离级别的效果。

在事务提交期间,所有对存储的事务性操作都会按特定顺序执行。目前的操作顺序如下:

  1. 标签令牌操作

  2. 关系类型令牌操作

  3. 属性键令牌操作

  4. 创建操作

    1. 属性

    2. 关系

    3. 关系组

    4. 节点

  5. 更新操作

    1. 属性

    2. 关系

    3. 关系组

    4. 节点

  6. 删除操作

    1. 属性

    2. 关系

    3. 关系组

    4. 节点

  7. Neo Store 命令

  8. 模式(Schema)命令

  9. 计数存储操作

  10. 索引操作

  11. 旧版索引操作

请注意,我们无法保证此顺序在未来的 Neo4j 版本中保持不变。如果出于某种原因发生更改,我们会相应地更新本文档。

© . This site is unofficial and not affiliated with Neo4j, Inc.