我需要有关社交图表性能改进的建议。目标查询可以正常使用较小的结果编号。但它可能会返回超过1000行的大结果。 可以根据密码查询的大响应来调整性能吗?
使用密码查询:
START givenFriend=node:Nodes('id:709387498'),
item=node:ItemCat1Cat2('category:a.b')
MATCH p = givenFriend-[:FRIEND]-friend1-[:FRIEND]-friend2-[:DATA]->item
RETURN p, item
Neo4j核心1.9.5
该图表包含已关联的朋友:
friend1Node-[:FRIEND]->friend1Node
朋友可以有几个数据项,表示为具有属性的节点:
friendNode-[:DATA]->DataNode
数据节点有大约8个属性。其中有一类物业。数据项节点按类别编制索引。
朋友节点号:650,772
朋友关系号:842,755
数据项节点编号:5,640
需要改进的查询应该选择从给定节点id到具有已定义类别的数据项到2个朋友的所有路径。路径具有以下视图:
givenFriend-friend1-friend2-dataItem
遍历可以改善效果吗?
迁移到2.0.0可以改善数据库模型和查询性能吗?
** UPD
LIMIT 1 = 195ms
LIMIT 100 = 564ms
LIMIT 1000 = 1549ms
LIMIT 3000 = 3208ms
SKIP 7000 LIMIT 1 = 2051ms
响应最多可包含13K条记录。
答案 0 :(得分:2)
您的SLA和当前的响应时间是多少?回复有多大?