neo4j查询效率优化

目录

硬件方面

使用固态硬盘

使用更大的内存条

软件方面

优化neo4j配置文件

增加索引

neo4j索引

Cypher语句


硬件方面

使用固态硬盘

neo4j查询效率优化_第1张图片

固态电子存储芯片阵列而制成的硬盘,I/O性能相对于传统硬盘大大提升,芯片的工作温度范围很宽,商规产品(0~70℃),工规产品(-40~85℃)。

使用更大的内存条

neo4j查询效率优化_第2张图片

内存(Memory)也被称为内存储器,其作用是用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据。只要计算机在运行中,CPU就会把需要运算的数据调到内存中进行运算,当运算完成后CPU再将结果传送出来,内存的运行也决定了计算机的稳定运行。

软件方面

优化neo4j配置文件

neo4j基于java实现,为neo4j增加jvm虚拟环境的内存,即扩充其工作空间,可以加快运行速度。

neo4j查询效率优化_第3张图片

配置文件一般在安装目录下

conf/neo4j.conf

 打开文件,找到下面两行代码

dbms.memory.heap.initial_size=512m;
dbms.memory.heap.max_size=512m

512m即是堆内存的大小,如果数据量很大,那么这里适当增加内存配置可有益于运行速度,注意数值不能超过物理内存大小。

增加索引

数据库索引好比是一本书前面的目录,能加快数据库的查询速度。如果没有索引,必须遍历整个表,有了索引之后,直接在索引里面找到符合条件的结果,就可以得知这一行的位置

neo4j查询效率优化_第4张图片

neo4j索引

  • 手动索引:手动方式创建,索引不会随着数据的改变而自动更新,较为麻烦。
  • 自动索引:通过修改配置文件来创建索引,neo4j 3.x版本中已经摒弃了用该方法。
  • 模式索引:每一个索引会对应一个标签和一组属性,无论是更新还是删除节点,索引都会自动更新或者删除。

Cypher语句

CREATE INDEX ON: 标签(待查字段)

索引建立后状态为Populating,要重启数据库并关闭才会生效。可用“:schema”指令查看索引是否是ONLINE状态。

你可能感兴趣的:(Neo4j)