neo4j学习总结--第七课 Cypher 索引与约束

本文介绍了Neo4j CQL中如何创建、使用和删除索引,以及如何添加和删除UNIQUE约束。通过索引和约束,可以提升查询性能并保证数据完整性。详细讲解了节点和关系属性的唯一性约束及存在性约束的创建与删除,包括创建索引的语法和应用场景。
摘要由CSDN通过智能技术生成

一、Neo4j CQL - 索引

Neo4j SQL支持节点或关系属性上的索引,以提高应用程序的性能。

我们可以为具有相同标签名称的所有节点的属性创建索引。

我们可以在MATCH或WHERE或IN运算符上使用这些索引列来改进CQL Command的执行。

1.1、Neo4J索引操作

  • Create Index 创建索引
  • Drop Index 丢弃索引

1.2、创建索引语法:

Neo4j的CQL提供“CREATE INDEX”命令创建的节点或关系的属性索引。

1.3、创建索引的语法:

CREATE INDEX ON :<label_name> (<property_name>)

注意:

冒号(:)运算符用于引用节点或关系标签名称。

上述语法描述它在节点或关系的<label_name>的<property_name>上创建一个

1.4、创建索引

使用CREATE INDEX ON可以在拥有某个标签的所有节点的某个属性上创建索引。注意,索引是在后台创建,并不能立刻就生效。

CREATE INDEX ON :Person(name)

本例在拥有Person标签的所有节点的name属性上创建了索引。

1.5、使用索引

通常不需要在查询中指出使用哪个索引,Cypher自己会决定。例

MATCH (person:Person { name: 'Andres' })

RETURN person

在WHERE等式中使用索引

在WHERE语句中的对索引的属性进行相等比较时,索引将自动被使用。

MATCH (person:Person)

WHERE person.name = 'Andres'

RETURN person

使用WHERE不等式中使用索引

在WHERE语句中的对索引的属性进行不等(范围)比较时,索引将自动被使用。

MATCH (person:Person)

WHERE person.name > 'B'

RETURN person

在 IN中使用索引

下面查询中针对 person.name的IN断言将使用Person(name)索引。

MATCH (person:Person)

WHERE person.name IN ['Andres', 'Mark']

RETURN person

在STARTS WITH中使用索引

下面的查询语句在针对person.name的STARTS WITH断言将使用Person(name)索引。

查询

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值