heroku - neo4j complex hieharchical Cypher query slow performance -
I have a complex hierarchical query that looks like this:
MATCH : Company {ID: 7}) - [: HAS_SPACE] - & gt; (S: Space) - [: HAS_BOARD] - & gt; (B), (Colonel) & lt; - [: HAS_COLUMN] - (B) - [: HAS_LANE] - & gt; (Lane) - Optional Match (B) - [: HAS_CARD] - & gt; (CardCall: Column) - [: HAS_CARD] - & gt; (Card (Archived: Incorrect)) <- [: HAS_CARD] - (Cardlane: Lane) S, B, Call , ID: card.id, title: card.title, sort_order: card.sort_order, column_id: cardCol.id, lane_id: cardLane ID} as the CRD ID: B.Id, Title: b. Titit, left: bf, top: bop, column: collection (different (idiid: call.id, title: col.ttal, col_count: col.col_count, sort_order: col.sort_order}), lane: Separate (id: lane id, title: lane tetal, line_ count: lane. Axis, sort: lane: suit_order}, card: submit (separate CRD)} in the form of BRD return {id: s.id, title: s.title, board: assembled (separate brd)} This query slows down for 10 seconds card is about 200. What is the problem with it and how can I profile it? It seems that a PROFILE is the keyword, but the output Really does not look like informative BTW, we are using gorphin db on our koku.
I think that with this question you have an issue organizer blast with the path, you can help the cipher a bit. (The next version will be more clear about this).
Besides, where is your "alternative relationship"? Between the board and the card? Create Index: Company (ID); MATCH (COMP: Company {ID: 7}) - [: HAS_SPACE] - & gt; (S: Space) - [: HAS_BOARD] - & gt; (B) Separately, B Match (call) & lt; - [: HAS_COLUMN] - (B) - [: HAS_LANE] - & gt; (Lane) Optional Match (B) - [: HAS_CARD] - & gt; (Card (stored: incorrect)) separate, B, call, lane, B, card with matte (cardcall: column) - [: HAS_CARD] - & gt; (Card (stored: incorrect)) <- [: HAS_CARD] - S, B, call, lane, {ID: card.id, title: card.title, sort_order: card, with card lane). With the CRD as sort_order, column_id: cardCol.id, lane_id: cardLane.id} {id: bid, title: b.title, left: b.left, top: btop, column: aggregate ( Different (id: col.id, title: col.title, col_count: col.col_count, sort_order: col.sort_order}), lane: (separate (id: lane.id, title: Lane.title, row_count: lane. Brd returns {id: s.id, title: s.title, board: assembled (separate brd)} as: row_count, sort_order: lane.sort_order}, card: assembled (separate CRD)} Pre> different parts of this query Helps to do different analysis and to see if the connective blast is again different, fix the primacy of that piece.
You can set your query to cypher 2.1.experimental < / Code>
Comments
Post a Comment