How to Aggregate calculation of data faster?

cypher

(Gflp123) #1

I have a problem,Aggregate calculation is slowly, any Suggest?

thanks.

Query:

match(m:MaBatch)-[r:BATCH]->(d:SumModPanelDefHis) where m.batch='4th' and d.eventTimekey>='20181108060000' and d.eventTimekey<='20181110060000' with d,count(d.panelId) as INPUT_QTY order by d.tftGlassId limit 100 return d.tftGlassId,INPUT_QTY

Explain


Please provide the following information if you ran into a more serious issue:

Neo4j Browser version: 3.2.13

Neo4j Server version: [3.5.0]


(Kunal Goyal) #2

do you have index for SumModPanelDefHis ??


(Gflp123) #3

"INDEX ON :SumModPanelDefHis(eventTimekey)" "Unnamed index" ["SumModPanelDefHis"] ["eventTimekey"] "ONLINE" "node_label_property" 100.0

have index eventTimekey

The SumModPanelDefHis node size 40G.

Neo4j Graph VisualizationCreated using Neo4j (http://www.neo4j.com/)31 estimated rows3 estimated rows247,881 estimated rows3,718 estimated rows61 estimated rows61 estimated rows61 estimated rows61 estimated rows61 estimated rowsResultProduceResultsINPUT_QTY, d, d.tftGlassIdOrdered by anon[192] ASCProjectionINPUT_QTY, d, d.tftGlassId{d.tftGlassId : d.tftGlassId}Ordered by anon[192] ASCTopINPUT_QTY, d100Ordered by anon[192] ASCProjectionINPUT_QTY, d{ FRESHID192 : d.tftGlassId}EagerAggregationINPUT_QTY, dFilterd, m, rAndedPropertyInequalities(Variable(d),Property(Variable(d),PropertyKeyName(eventTimekey)),GreaterThanOrEqual(Property(Variable(d),PropertyKeyName(eventTimekey)),Parameter( AUTOSTRING1,String)), LessThanOrEqual(Property(Variable(d),PropertyKeyName(eventTimekey)),Parameter( AUTOSTRING2,String)))Expand(All)d, m, r(m)-[r:BATCH]->(d)Filtermm.batch = $AUTOSTRING0NodeByLabelScanm:MaBatch


(Michael Hunger) #4

What is your memory config and page-cache config and what kind of disk are you using?
Can you show the PROFILE instead of the explain? and the output of :schema

what do these return: both the count and the profile.

profile match(m:MaBatch) where m.batch='4th' return count(*)

profile
MATCH (d:SumModPanelDefHis) 
where '20181108060000' <= d.eventTimekey <='20181110060000'
return count(*)