2016-03-30 6 views
0

Nur von 2.2.5 auf 2.3.2 aktualisiert und eine vorherige Abfrage, die sofort ausgeführt wird, dauert jetzt eine beträchtliche Zeit. Scheint mit der Tiefe verbunden zu sein, denn wenn man es von 5 auf 3 reduziert, wird es schneller.Neo 2.3.2 Leistungsprobleme

Weitere Details sind als unten, Nach der Neo4j Abfrage verwendet, um die empfohlenen Restaurants für die bestandene User_id zu suchen, wo Tiefe/Grad der Suche gehalten wird als 5.

MATCH (u:User {user_id:"bf9203fba4484f96b4983152e9ee859a"})-[r*1..5]-(place:Place) 
WHERE ALL (rel in r WHERE rel.rating >= 0) 
RETURN DISTINCT place.place_id, place.title, length(r) as LoR ORDER BY LoR, place.title 

Old Serverinstanz hat Neo4j 2.2.5, wo das Ergebnis sofort angezeigt wird, aber auf der neuen VM mit Neo4j 2.3.2 dauert es ziemlich lange, bis das Ergebnis zurückgegeben wird. Wenn wir den Suchtiefe-Wert auf 2 oder 3 verringern, werden Abfragen schneller ausgeführt

Wer hat das sonst noch?

+0

Wie wäre es, Indizes zu löschen und neu zu erstellen? –

+0

ist der alte Server auch eine VM? –

+0

Haben Sie einen dedizierten Rel-Typ für Ihre Beziehung? und eine Richtung? –

Antwort

0

Wie vergleichen sich die Abfragezeiten, wenn sie vollständig nicht warmgelaufen sind, z. Starten Sie einfach den Server und führen Sie diese Abfrage aus? Ich vermute, dass das Laden von Eigenschaften das größte Problem darstellt, da der Objektcache in der 2.3-Reihe entfernt wurde.

Haben die Place Knoten und Beziehungen mit der rating Eigenschaft viele Eigenschaften?