I'd love to hear from Orient as to why this would take 2+ hours, on a 
dataset with only 20K vertexes. That can't be considered reasonable.

On Thursday, April 21, 2016 at 5:21:20 PM UTC-5, pabloa wrote:
>
> Hello,
>
> I tried and queries worked. 
> However, when I tried the 2nd query with more rows, processing time was 
> longer and longer. With 20k vertex the query was running for 2 hours and I 
> cancelled it (it executed on orientdb 2.1.15 using 4gb of heap and 8 gb of 
> bufferdisk).
> I used OrientDb Studio (with the limit of 20 rows).
>
> I found it is faster to sort the answer by day on the client side at least 
> for now. At the same time I feel that I should return both activity types 
> picnic and excursion in 1 column and sort that. I suspect that operation 
> will be faster. No sure if it is what I need though (the sort operation).
>
> Each user will have less than 999 activities so still is not a big deal to 
> sort the result on the client side OR insert them sorted.
>
> Thanks all to help me querying this class.
>
> Pablo
>
> On Thursday, April 21, 2016 at 8:22:09 AM UTC-7, [email protected] 
> wrote:
>>
>> Hi pabloa,
>>
>> I've made this query that, I hope,it will satisfy your request.
>>
>> With this one, I'm able to select the user, the days and the 
>> excursion/picnic, everything ordered from largest to smallest,based on the 
>> day:
>>
>> select user,days,excursion,picnic from (select $b.userId as user,$b.day 
>> as days,$b.excursion as excursion,$b.picnic as picnic,$a.max_day as day 
>> from User
>> let $a=(select userId,max(activities.day) as max_day from User where 
>> userId=$parent.current.userId),
>> $b=(select userId,activities.day as day,activities[type='excursion'].data 
>> as excursion,activities[type='picnic'].data as picnic from User where 
>> userId=$parent.current.userId)
>> order by day desc
>> unwind user)
>>
>>
>> <https://lh3.googleusercontent.com/-5Il-yf5auio/VxjuwEC7OII/AAAAAAAAACc/IlaGGwZwxKQM0_K8fqgPDTf_Qg2FKnjfACLcB/s1600/max.png>
>>
>>
>> With this one you can do the same but everything is ordered from smallest 
>> to largest,based on the day:
>>
>> select user,days,excursion,picnic from (select $b.userId as user,$b.day 
>> as days,$b.excursion as excursion,$b.picnic as picnic,$a.min_day as day 
>> from User
>> let $a=(select userId,min(activities.day) as min_day from User where 
>> userId=$parent.current.userId),
>> $b=(select userId,activities.day as day,activities[type='excursion'].data 
>> as excursion,activities[type='picnic'].data as picnic from User where 
>> userId=$parent.current.userId)
>> order by day asc
>> unwind user)
>>
>>
>>
>> <https://lh3.googleusercontent.com/-Lh3Llm3b6Lo/VxjvMZdJUsI/AAAAAAAAACg/lC6Ad7Y2KIUVTWBVbtxdAMl7LlfW4OsMQCLcB/s1600/min.png>
>>
>>
>> Hope it helps.
>>
>> Regards,
>> Michela
>>
>

-- 

--- 
You received this message because you are subscribed to the Google Groups 
"OrientDB" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to