Neo4j优化思路

增加服务器内存和调整neo4j配置文件

# java heap 初始化
dbms.memory.heap.initial_size=1g
# java heap最大值,一般不超过可用物理内存的80%
dbms.memory.heap.max_size=16g
# pagecache大小,官方建议设为(总内存-dbms.memeory.heap.max_size)/2
dbms.memory.pagecache.size=2g

neo4j刚启动数据是冷的需要预热

match(n)
optional match (n)-[r]-()
return count(n.name) + count(r)

查看执行计算进行索引优化

Cypher查询计划程序将每个查询转换为执行计划。执行计划告诉Neo4j在执行查询时要执行哪些操作。
对执行计划的生成,Neo4j使用的都是基于成本的优化器(Cost based Optimizer,CBO),用于定制精确的执行过程。可以采用如下两种方式来了解内部的工作机制:
EXPLAIN:是解释机制,加入该关键字的Cypher语句可以预览执行的过程但并不实际执行,所以也不会产生任何结果。
PROFILE:则是画像机制,查询中使用该关键字,不仅能够看到执行计划的详细内容,也可以看到查询的执行结果。

关注指标:

  • estimated rows:需要被扫描行数的预估值
  • dbhits:实际运行结果的命中绩效两个值都是越小越好

使用索引和不适用索引对比

MATCH(p {name:‘范闲’}) RETURN p
在之前加上profile来进行查询,可以查看查询计划

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值