Re: How to improve traversal query performance
Manabu Kotani <smallcany...@...>
Hi Marc,
toggle quoted message
Show quoted text
Profile outputs I tried.
1. g.V().has('serial',within('XXXXXX','YYYYYY')).inE('assembled').outV()
----------------------------------------------------------------------
gremlin> g.V().has('serial', within('1654145144','1648418968','1652445288','1654952168','1653379120','1654325440','1653383216','1658298568','1649680536','1649819672','1654964456','1649729552','1656103144','1655460032','1656111336','1654669360')).inE('assembled').outV().profile()
==>Traversal Metrics
Step Count Traversers Time (ms) % Dur
=============================================================================================================
JanusGraphStep([],[serial.within([1654145144, 1... 16 16 18.860 63.13
\_condition=((serial = 1654145144 OR serial = 1648418968 OR serial = 1652445288 OR serial = 1654952168 OR
serial = 1653379120 OR serial = 1654325440 OR serial = 1653383216 OR serial = 1658298568 OR se
rial = 1649680536 OR serial = 1649819672 OR serial = 1654964456 OR serial = 1649729552 OR seri
al = 1656103144 OR serial = 1655460032 OR serial = 1656111336 OR serial = 1654669360))
\_orders=[]
\_isFitted=true
\_isOrdered=true
\_query=multiKSQ[16]@2000
\_index=bySerial
optimization 0.058
optimization 0.694
backend-query 16 17.823
\_query=bySerial:multiKSQ[16]@2000
\_limit=2000
JanusGraphVertexStep(IN,[assembled],vertex) 73 73 11.016 36.87
\_condition=type[assembled]
\_orders=[]
\_isFitted=true
\_isOrdered=true
\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43d
\_multi=true
\_vertices=16
optimization 0.205
backend-query 73 9.332
\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43d
>TOTAL - - 29.877 -
2. g.V().has('serial',within('XXXXXX','YYYYYY')).as('a').in('assembled').inE('assembled').where(outV(), neq('a')).outV() // query not tested
----------------------------------------------------------------------
gremlin> g.V().has('serial', within('1654145144','1648418968','1652445288','1654952168','1653379120','1654325440','1653383216','1658298568','1649680536','1649819672','1654964456','1649729552','1656103144','1655460032','1656111336','1654669360')).as('a').in('assembled').inE('assembled').where(outV().is(neq('a'))).outV().profile()
==>Traversal Metrics
Step Count Traversers Time (ms) % Dur
=============================================================================================================
JanusGraphStep([],[serial.within([1654145144, 1... 16 16 19.980 26.52
\_condition=((serial = 1654145144 OR serial = 1648418968 OR serial = 1652445288 OR serial = 1654952168 OR
serial = 1653379120 OR serial = 1654325440 OR serial = 1653383216 OR serial = 1658298568 OR se
rial = 1649680536 OR serial = 1649819672 OR serial = 1654964456 OR serial = 1649729552 OR seri
al = 1656103144 OR serial = 1655460032 OR serial = 1656111336 OR serial = 1654669360))
\_orders=[]
\_isFitted=true
\_isOrdered=true
\_query=multiKSQ[16]@2000
\_index=bySerial
optimization 0.026
optimization 0.588
backend-query 16 18.813
\_query=bySerial:multiKSQ[16]@2000
\_limit=2000
JanusGraphVertexStep(IN,[assembled],vertex) 73 73 6.521 8.66
\_condition=type[assembled]
\_orders=[]
\_isFitted=true
\_isOrdered=true
\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43d
\_multi=true
\_vertices=16
optimization 0.154
backend-query 73 5.310
\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43d
JanusGraphVertexStep(IN,[assembled],edge) 2578 2578 20.170 26.77
\_condition=type[assembled]
\_orders=[]
\_isFitted=true
\_isOrdered=true
\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43d
\_multi=true
\_vertices=59
optimization 0.032
backend-query 2578 10.266
\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43d
TraversalFilterStep([EdgeVertexStep(OUT), Profi... 2578 2578 21.824 28.97
EdgeVertexStep(OUT) 2578 2578 4.776
IsStep(neq(a)) 6.172
EdgeVertexStep(OUT) 2578 2578 6.842 9.08
>TOTAL - - 75.338 -
3. Results I want to get.
----------------------------------------------------------------------
g.V().has('serial', within('1654145144','1648418968','1652445288','1654952168','1653379120','1654325440','1653383216','1658298568','1649680536','1649819672','1654964456','1649729552','1656103144','1655460032','1656111336','1654669360')).as('a').repeat(inE('assembled').as('b').outV().as('c').simplePath()).emit().select('a').id().as('parent').select('b').values('work_date').as('work_date').select('c').values('serial').as('child').select('parent','child','work_date').order().by('parent').by('child').by('work_date').profile()
==>Traversal Metrics
Step Count Traversers Time (ms) % Dur
=============================================================================================================
JanusGraphStep([],[serial.within([1654145144, 1... 16 16 24.028 4.95
\_condition=((serial = 1654145144 OR serial = 1648418968 OR serial = 1652445288 OR serial = 1654952168 OR
serial = 1653379120 OR serial = 1654325440 OR serial = 1653383216 OR serial = 1658298568 OR se
rial = 1649680536 OR serial = 1649819672 OR serial = 1654964456 OR serial = 1649729552 OR seri
al = 1656103144 OR serial = 1655460032 OR serial = 1656111336 OR serial = 1654669360))
\_orders=[]
\_isFitted=true
\_isOrdered=true
\_query=multiKSQ[16]@2000
\_index=bySerial
optimization 0.074
optimization 1.256
backend-query 16 312.583
\_query=bySerial:multiKSQ[16]@2000
\_limit=2000
RepeatStep([JanusGraphVertexStep(IN,[assembled]... 2925 2925 272.924 56.26
JanusGraphVertexStep(IN,[assembled],edge)@[b] 2925 2925 223.728
\_condition=type[assembled]
\_orders=[]
\_isFitted=true
\_isOrdered=true
\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43d
\_multi=true
\_vertices=9
optimization 0.203
backend-query 5 1.557
\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43d
optimization 0.020
backend-query 161 2.356
\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43d
optimization 0.125
backend-query 9 25.853
\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43d
optimization 0.023
backend-query 8 2.168
\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43d
optimization 0.024
backend-query 0 1.808
\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43d
optimization 0.026
backend-query 5 1.354
\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43d
optimization 0.024
backend-query 161 1.989
\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43d
optimization 0.040
backend-query 9 3.490
\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43d
optimization 0.026
backend-query 0 2.231
\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43d
optimization 0.061
backend-query 5 1.877
\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43d
optimization 0.027
backend-query 161 4.645
\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43d
optimization 0.056
backend-query 10 2.554
\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43d
optimization 0.073
backend-query 9 4.274
\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43d
optimization 0.026
backend-query 0 1.199
\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43d
optimization 0.026
backend-query 5 1.165
\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43d
optimization 0.025
backend-query 161 8.010
\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43d
optimization 0.032
backend-query 9 1.542
\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43d
optimization 0.032
backend-query 4 5.402
\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43d
optimization 0.038
backend-query 5 4.173
\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43d
optimization 0.029
backend-query 161 4.113
\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43d
optimization 0.056
backend-query 9 1.617
\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43d
optimization 0.035
backend-query 0 1.517
\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43d
optimization 0.044
backend-query 5 1.522
\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43d
optimization 0.045
backend-query 161 1.985
\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43d
optimization 0.029
backend-query 9 1.435
\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43d
optimization 0.028
backend-query 0 1.034
\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43d
optimization 0.021
backend-query 3 1.108
\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43d
optimization 0.024
backend-query 161 1.785
\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43d
optimization 0.036
backend-query 9 7.190
\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43d
optimization 0.032
backend-query 8 12.321
\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43d
optimization 0.044
backend-query 0 1.926
\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43d
optimization 0.032
backend-query 5 1.782
\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43d
optimization 0.028
backend-query 161 3.398
\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43d
optimization 0.031
backend-query 9 1.412
\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43d
optimization 0.026
backend-query 0 1.212
\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43d
optimization 0.035
backend-query 5 1.283
\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43d
optimization 0.028
backend-query 161 2.149
\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43d
optimization 0.035
backend-query 9 1.415
\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43d
optimization 0.025
backend-query 1 1.214
\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43d
optimization 0.025
backend-query 3 1.313
\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43d
optimization 0.027
backend-query 161 2.004
\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43d
optimization 0.038
backend-query 9 8.265
\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43d
optimization 0.031
backend-query 0 1.718
\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43d
optimization 0.028
backend-query 5 1.489
\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43d
optimization 0.029
backend-query 161 2.066
\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43d
optimization 0.029
backend-query 9 1.361
\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43d
optimization 0.024
backend-query 2 1.454
\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43d
optimization 0.026
backend-query 5 1.234
\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43d
optimization 0.025
backend-query 161 1.819
\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43d
optimization 0.027
backend-query 9 1.361
\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43d
optimization 0.026
backend-query 0 1.136
\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43d
optimization 0.028
backend-query 5 1.265
\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43d
optimization 0.029
backend-query 161 10.425
\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43d
optimization 0.040
backend-query 9 2.437
\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43d
optimization 0.050
backend-query 0 1.462
\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43d
optimization 0.049
backend-query 5 2.208
\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43d
optimization 0.028
backend-query 163 2.415
\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43d
optimization 0.035
backend-query 9 1.252
\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43d
optimization 0.027
backend-query 0 1.164
\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43d
optimization 0.032
backend-query 4 1.335
\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43d
optimization 0.028
backend-query 161 1.944
\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43d
optimization 0.028
backend-query 9 1.473
\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43d
optimization 0.026
backend-query 0 1.114
\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43d
optimization 0.025
backend-query 3 1.279
\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43d
optimization 0.025
backend-query 161 1.867
\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43d
optimization 0.033
backend-query 9 1.463
\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43d
optimization 0.027
backend-query 0 1.169
\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43d
EdgeVertexStep(OUT)@[c] 2925 2925 7.733
PathFilterStep(simple) 2925 2925 10.508
JanusGraphMultiQueryStep(RepeatEndStep) 2925 2925 14.827
RepeatEndStep 2925 2925 9.754
SelectOneStep(last,a) 2925 2925 8.340 1.72
IdStep@[parent] 2925 2925 7.347 1.51
SelectOneStep(last,b) 2925 2925 8.690 1.79
JanusGraphPropertiesStep([work_date],value)@[wo... 2925 2925 35.051 7.22
SelectOneStep(last,c) 2925 2925 9.512 1.96
JanusGraphPropertiesStep([serial],value)@[child] 2925 2925 79.337 16.35
\_condition=type[serial]
\_orders=[]
\_isFitted=true
\_isOrdered=true
\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@811c505d
\_multi=true
\_vertices=302
optimization 0.044
backend-query 302 53.962
\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@811c505d
SelectStep(last,[parent, child, work_date]) 2925 2925 10.705 2.21
OrderGlobalStep([[value(parent), asc], [value(c... 2925 2925 29.210 6.02
>TOTAL - - 485.149 -
Best regards,
Manabu
2020年11月26日木曜日 16:07:27 UTC+9 HadoopMarc:
Hi Manabu,OK, I think for this graph structure your initial query is fine for getting the right output results. Still, to better understand the impact on the performance of using sack() you might want to split up your query during experimentation:
- g.V().has('serial',within('XXXXXX','YYYYYY')).inE('assembled').outV()
- g.V().has('serial',within('XXXXXX','YYYYYY')).as('a').in('assembled').inE('assembled').where(outV(), neq('a')).outV() // query not tested
Note that I did not use the SimplePath() step, but because it probably precludes the bulking after adding appropriate sack() steps.If you want others to step in for getting the sack() steps right, please provide the gremlin steps to create your sample graph and the query you have already tried with query output and profile() output.Best wishes, MarcOp donderdag 26 november 2020 om 00:29:33 UTC+1 schreef Manabu Kotani:Hi Marc,Sorry, I forgot an attachment (Image of tree structure).Relationships between vertices and edges are like below.(Label:item, serial:A)<--[Label:assembled, work_date:2020-11-24]--(Label:item, serial:B)(Label:item, serial:A)<--[Label:assembled, work_date:2020-11-25]--(Label:item, serial:C)(Label:item, serial:B)<--[Label:assembled, work_date:2020-11-23]--(Label:item, serial:D)(Label:item, serial:B)<--[Label:assembled, work_date:2020-11-22]--(Label:item, serial:E)(Label:item, serial:C)<--[Label:assembled, work_date:2020-11-21]--(Label:item, serial:E)(Label:item, serial:C)<--[Label:assembled, work_date:2020-11-20]--(Label:item, serial:F)Best regards,Manabu2020年11月25日水曜日 19:55:54 UTC+9 HadoopMarc:Hi Manabu,What edge are present between vertices A,B,C,D,E,F?If there are only edges A-B, A-C, A-D, A-E, A-F, you do not need repeat().Best wishes, MarcOp woensdag 25 november 2020 om 09:22:34 UTC+1 schreef Manabu Kotani:Hi Marc,Thank you for your quick reply.Sorry for the lack of my explanation.I have a graph like below. (There are 3 levels in this figure, but not necessarily 3 levels.)When query by "A" for property "serial", then I would like to get results like these.1. A, B, 2020-11-242. A, C, 2020-11-253. A, D, 2020-11-234. A, E, 2020-11-215. A, E, 2020-11-226. A, F, 2020-11-20In this situation, how shoud I use until() step?Sorry for my low comprehension, I've just started to learn Gremlin.Best regards,Manabu2020年11月25日水曜日 15:46:35 UTC+9 HadoopMarc:Hi Manabu,repeat()/simplePath()/emit() can have valid uses, although normally you combine it with the times() or until() step to limit the number of repeats. The profile from your query suggests that the repeat step never takes effect, that is, each traversal takes only a single step from parent to child. The repeat step is not wrong in itself, but if it is not necessary you do not want it to be there if you do not know its impact on performance.Best wishes, MarcOp dinsdag 24 november 2020 om 08:43:36 UTC+1 schreef Manabu Kotani:Hi Marc,Thank you for your reply.I'm reading ref docs that you referred about sack()/barrier(). But, I've not able to understand yet.One question.What means this you advised? repeat()/simplePath()/emit() steps should not be used?
- in the current traversal the repeat(), simplePath() and emit() steps have no effect if the children do not assemble children themselves. So you can leave these steps out for clarity and to be sure that they do not influence the janusgraph execution plan
Best regards,Manabu2020年11月21日土曜日 20:13:28 UTC+9 HadoopMarc:Hi Manabu,Without knowing if the considerations below will really help, you may try the following:
- in the current traversal the repeat(), simplePath() and emit() steps have no effect if the children do not assemble children themselves. So you can leave these steps out for clarity and to be sure that they do not influence the janusgraph execution plan
- you may want to study the profile(), sack() and barrier() steps in the TinkerPop ref docs:
https://tinkerpop.apache.org/docs/3.4.8/reference/#profile-step
https://tinkerpop.apache.org/docs/3.4.8/reference/#sack-step
https://tinkerpop.apache.org/docs/3.4.8/reference/#barrier-step
https://kelvinlawrence.net/book/Gremlin-Graph-Guide.html#lambdasack
https://groups.google.com/g/gremlin-users/c/yGs1rv8YXRw/m/Y_iKg15KAwAJ
https://groups.google.com/g/gremlin-users/c/Z7WqhtHvhRc/m/SAbRRMvNBQAJ
Because of your use of the as()/select() mechanism the traversers cannot be bulked and the number of traversers (20669) equals the path count (20669). I am not sure how bulking would affect the JanusGraph execution plan, but with some luck the number of backend calls decreases from 20669 to 1392 (the number of child vertices).
You can influence the bulking by using the sack() step instead of the as()/select() mechanism. You presently get 20669 (a,b,c) items out of your query. You have to rewrite that to get 1392 child vertices out of your query that each have a sack with (a, b) items. Not well covered in the TinkerPop docs is that the sack can be initialized with a Collection object and that the split and merge operators can take closures to act on such a Collection. E.g. you could structure the Sack as an ArrayList that gets (b, a) tuples or "b|a" strings appended during the traversal of a path.
Finally, note that the barrier() step and LazyBarrierStrategy also influence the bulking process.Best wishes, MarcOp donderdag 19 november 2020 om 02:37:48 UTC+1 schreef Manabu Kotani:Hi All,I'm testing traversal query performance.My query (please see below) takes about 1.8sec.Is there solution for improve performance (faster than 1.8sec)?I hope that takes less than 500ms.1.Environment:JanusGraph (0.5.2) + Cassandra (3.11.0) on Docker Desktop (Windows)2.Schema:------------------------------------------------------------------------------------------------Vertex Label Name | Partitioned | Static |---------------------------------------------------------------------------------------------------item | false | false |---------------------------------------------------------------------------------------------------Edge Label Name | Directed | Unidirected | Multiplicity |---------------------------------------------------------------------------------------------------assembled | true | false | MULTI |---------------------------------------------------------------------------------------------------Property Key Name | Cardinality | Data Type |---------------------------------------------------------------------------------------------------serial | SINGLE | class java.lang.String |work_date | SINGLE | class java.util.Date |---------------------------------------------------------------------------------------------------Vertex Index Name | Type | Unique | Backing | Key: Status |---------------------------------------------------------------------------------------------------bySerial | Composite | false | internalindex | serial: ENABLED |---------------------------------------------------------------------------------------------------Edge Index (VCI) Name | Type | Unique | Backing | Key: Status |---------------------------------------------------------------------------------------------------byWorkDate | Composite | false | internalindex | work_date: ENABLED |---------------------------------------------------------------------------------------------------Relation Index | Type | Direction | Sort Key | Order | Status |-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------3.Query:g.V().has('serial',within('XXXXXX','YYYYYY',....<- 100 search keys).as('a').repeat(inE('assembled').as('b').outV().as('c').simplePath()).emit().select('a').values('serial').as('parent').select('b').values('work_date').as('work_date').select('c').values('serial').as('child').select('parent','child','work_date').order().by('parent').by('child').by('work_date')-----------------------------------------------------------------------------------------------------------4.Query Profile:==>Traversal MetricsStep Count Traversers Time (ms) % Dur=============================================================================================================JanusGraphStep([],[serial.within([XXXXXX... 100 100 159.582 8.89\_condition=((serial = XXXXXX OR serial = YYYYYY OR .... <- 100 search keys))\_orders=[]\_isFitted=true\_isOrdered=true\_query=multiKSQ[100]@2000\_index=bySerialoptimization 0.018optimization 6.744backend-query 100 1074.225\_query=bySerial:multiKSQ[100]@2000\_limit=2000RepeatStep([JanusGraphVertexStep(IN,[assembled]... 20669 20669 857.001 47.74JanusGraphVertexStep(IN,[assembled],edge)@[b] 20669 20669 633.529\_condition=type[assembled]\_orders=[]\_isFitted=true\_isOrdered=true\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43d\_multi=true\_vertices=204optimization 0.477backend-query 228 2.076\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.150backend-query 0 43.366\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.093backend-query 229 1.978\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.107backend-query 0 32.738\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.111backend-query 229 1.577\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.107backend-query 0 17.827\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.085backend-query 229 1.517\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.108backend-query 0 5.729\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.071backend-query 228 1.993\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.083backend-query 0 3.335\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.150backend-query 229 1.890\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.137backend-query 0 32.593\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.110backend-query 229 2.253\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.069backend-query 230 1.624\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.070backend-query 0 12.797\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.116backend-query 229 1.579\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.090backend-query 0 5.764\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.107backend-query 229 1.651\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.134backend-query 0 22.327\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.074backend-query 229 1.756\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.075backend-query 0 11.145\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.069backend-query 229 1.947\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.086backend-query 0 3.727\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.100backend-query 116 1.492\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.085backend-query 0 27.159\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.132backend-query 229 1.524\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.100backend-query 0 7.173\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.075backend-query 230 1.880\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.114backend-query 0 3.696\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.085backend-query 228 1.645\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.143backend-query 0 2.924\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.105backend-query 229 2.010\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.316backend-query 0 3.806\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.095backend-query 230 1.854\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.185backend-query 229 1.936\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.099backend-query 0 2.135\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.070backend-query 231 1.479\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.067backend-query 0 5.907\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.069backend-query 1 1.129\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.109backend-query 0 1.069\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.082backend-query 231 1.245\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.072backend-query 0 1.175\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.064backend-query 229 1.308\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.078backend-query 0 7.058\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.145backend-query 231 1.655\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.115backend-query 0 3.946\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.067backend-query 117 1.231\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.063backend-query 0 11.856\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.065backend-query 230 1.606\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.072backend-query 0 6.973\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.070backend-query 229 1.445\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.088backend-query 230 1.836\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.098backend-query 0 2.552\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.088backend-query 116 1.450\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.060backend-query 0 4.072\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.062backend-query 229 1.421\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.058backend-query 0 2.342\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.058backend-query 229 0.999\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.070backend-query 0 1.847\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.063backend-query 229 1.171\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.064backend-query 0 0.999\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.051backend-query 228 0.991\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.070backend-query 0 2.107\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.215backend-query 116 1.678\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.069backend-query 229 1.578\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.081backend-query 0 3.649\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.096backend-query 229 1.619\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.066backend-query 228 1.549\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.070backend-query 116 1.610\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.154backend-query 228 1.746\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.092backend-query 0 2.958\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.093backend-query 232 1.698\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.143backend-query 229 1.719\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.081backend-query 0 2.809\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.065backend-query 229 1.410\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.082backend-query 229 1.458\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.109backend-query 228 1.651\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.066backend-query 228 1.417\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.111backend-query 117 1.536\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.188backend-query 0 1.660\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.132backend-query 229 2.361\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.110backend-query 0 2.384\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.140backend-query 229 1.680\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.067backend-query 230 1.342\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.070backend-query 0 3.129\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.118backend-query 231 1.397\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.169backend-query 0 5.665\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.114backend-query 116 1.780\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.128backend-query 0 2.316\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.108backend-query 229 1.521\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.083backend-query 231 1.508\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.074backend-query 0 2.327\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.092backend-query 116 1.509\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.285backend-query 0 2.007\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.079backend-query 116 1.245\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.134backend-query 230 1.521\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.092backend-query 1 1.278\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.064backend-query 0 1.104\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.076backend-query 231 1.287\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.079backend-query 229 1.768\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.098backend-query 0 2.570\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.110backend-query 116 1.489\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.061backend-query 0 1.756\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.055backend-query 229 1.133\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.060backend-query 116 1.241\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.056backend-query 0 2.435\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.056backend-query 228 1.099\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.061backend-query 0 1.017\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.080backend-query 229 1.217\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.065backend-query 230 1.448\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.065backend-query 229 1.546\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.079backend-query 230 1.955\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.165backend-query 0 3.284\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.102backend-query 229 1.936\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.081backend-query 0 4.640\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.072backend-query 229 1.384\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.062backend-query 0 2.224\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.088backend-query 116 1.419\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.069backend-query 0 2.289\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.070backend-query 231 1.474\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.071backend-query 229 1.646\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.072backend-query 0 1.408\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.068backend-query 230 1.974\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.090backend-query 229 1.923\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.151backend-query 230 2.211\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.074backend-query 230 1.234\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.059backend-query 0 1.695\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.125backend-query 230 1.199\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.064backend-query 0 1.089\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.057backend-query 116 1.807\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.085backend-query 0 1.299\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.074backend-query 228 1.397\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.081backend-query 228 1.776\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.079backend-query 0 1.980\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.101backend-query 229 1.571\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.070backend-query 231 1.483\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.064backend-query 0 2.260\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.060backend-query 230 1.471\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.070backend-query 232 1.305\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.060backend-query 229 1.246\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.063backend-query 229 1.093\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.053backend-query 229 1.420\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.062backend-query 226 1.596\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.145backend-query 0 2.730\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.059backend-query 229 1.550\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.076backend-query 231 1.622\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.058backend-query 117 1.224\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.108backend-query 0 2.025\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.062backend-query 230 1.251\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.058backend-query 230 1.223\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.068backend-query 116 1.224\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.051backend-query 0 0.937\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.045backend-query 116 1.597\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.058backend-query 228 1.595\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.063backend-query 0 3.238\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.058backend-query 229 1.573\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.078backend-query 231 1.894\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.092backend-query 230 1.717\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43doptimization 0.061backend-query 231 1.302\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@812bd43dEdgeVertexStep(OUT)@[c] 20669 20669 39.223PathFilterStep(simple) 20669 20669 44.905JanusGraphMultiQueryStep(RepeatEndStep) 20669 20669 65.528RepeatEndStep 20669 20669 39.443SelectOneStep(last,a) 20669 20669 44.574 2.48JanusGraphPropertiesStep([serial],value)@[parent] 20669 20669 92.515 5.15\_condition=type[serial]\_orders=[]\_isFitted=true\_isOrdered=true\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@811c505d\_multi=true\_vertices=100optimization 0.090backend-query 100 12.807\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@811c505dSelectOneStep(last,b) 20669 20669 41.753 2.33JanusGraphPropertiesStep([work_date],value)@[wo... 20669 20669 98.648 5.50SelectOneStep(last,c) 20669 20669 41.674 2.32JanusGraphPropertiesStep([serial],value)@[child] 20669 20669 246.094 13.71\_condition=type[serial]\_orders=[]\_isFitted=true\_isOrdered=true\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@811c505d\_multi=true\_vertices=1392optimization 0.060backend-query 1392 136.281\_query=org.janusgraph.diskstorage.keycolumnvalue.SliceQuery@811c505dSelectStep(last,[parent, child, work_date]) 20669 20669 49.139 2.74OrderGlobalStep([[value(parent), asc], [value(c... 20669 20669 164.034 9.14>TOTAL - - 1795.018 ------------------------------------------------------------------------------------------------------------Sorry for my poor English.Thanks,Manabu