Neo4j 事务
事务封装要求
所有对 Neo4j 数据库的写操作都必须显式地封装在事务中:
try (Transaction tx = graphDb.beginTx()) {
// 数据库操作代码
tx.success();
}
隔离级别
默认隔离级别为 READ_COMMITTED。
死锁处理
Neo4j 实现了智能的死锁预防系统,自动抛出 DeadlockDetectedException 异常。
Neo4j 索引
创建单一索引
CREATE INDEX ON :Person(name)
创建复合索引
CREATE INDEX ON :Person(age, gender)
全文索引
CALL db.index.fulltext.createNodeIndex(
"index_name",
["Label1", "Label2"],
["property1", "property2"]
)
查看和删除索引
SHOW INDEXES
DROP INDEX ON :Person(name)
Neo4j 约束
唯一性约束
CREATE CONSTRAINT unique_user_email
FOR (user:User) REQUIRE user.email IS UNIQUE
查看约束
call db.constraints