私は次のクエリがあります。このクエリののNeo4jサイファーパフォーマンスのクエリの最適化
MATCH (dg:DecisionGroup)-[:CONTAINS]->(childD:Decision)
WHERE dg.id = 1
MATCH (childD)-[relationshipValueRel4:HAS_VALUE_ON]-(filterCharacteristic4:Characteristic)
WHERE filterCharacteristic4.id = 4
WITH relationshipValueRel4, childD, dg
WHERE (ANY (id IN [2,3]
WHERE id IN relationshipValueRel4.optionIds))
WITH childD, dg
OPTIONAL MATCH (childD)-[vg:HAS_VOTE_ON]->(c:Criterion)
WHERE c.id IN [2, 3]
WITH childD, dg, vg.avgVotesWeight as weight, vg.totalVotes as totalVotes
RETURN childD LIMIT 10
プロフィール情報:
サイファーバージョン:CYPHER 3.3、プランナー:COST、ランタイム:INTERPRETEDを。 2773 4ミリ
で 総デシベルヒットしかし、私は照会するための1つの以上の行を追加します。WITH childD , dg , toFloat(sum(weight)) as weight, toInt(sum(totalVotes)) as totalVotes
をし、クエリは次のようになります。
MATCH (dg:DecisionGroup)-[:CONTAINS]->(childD:Decision)
WHERE dg.id = 1
MATCH (childD)-[relationshipValueRel4:HAS_VALUE_ON]-(filterCharacteristic4:Characteristic)
WHERE filterCharacteristic4.id = 4
WITH relationshipValueRel4, childD, dg
WHERE (ANY (id IN [2,3]
WHERE id IN relationshipValueRel4.optionIds))
WITH childD, dg
OPTIONAL MATCH (childD)-[vg:HAS_VOTE_ON]->(c:Criterion)
WHERE c.id IN [2, 3]
WITH childD, dg, vg.avgVotesWeight as weight, vg.totalVotes as totalVotes
WITH childD , dg , toFloat(sum(weight)) as weight, toInt(sum(totalVotes)) as totalVotes
RETURN childD LIMIT 10
プロフィールinfoは次のとおりです。
Cypherバージョン:CYPHER 3.3、プランナー:COST、ランタイム:INTERPRETED。それは、この追加のサイファーとそう長く働いているのはなぜ6747ミリ
対4ミリ - 6747ミリ秒
差の 7818908総デシベルヒットは非常に巨大ですどのように最適化するのですか?
他のクエリのPROFILEプランを追加できますか? – InverseFalcon
@InverseFalcon最初のクエリのPROFILE計画があります – alexanoid