Ah yes, sure, the second WHERE should be an AND ;-)

Happy to see it helped

Luigi

2016-12-23 16:06 GMT+01:00 John J. Szucs <[email protected]>:

> Luigi,
>
> This reduced the overall run-time for the method that uses this query by
> about 75%!
>
> As an FYI for future readers, I believe the second "WHERE" in suggested
> SQL statement should be an AND.
>
> Thank you very much for the quick and helpful response!
>
> -- John
>
> On Friday, December 23, 2016 at 2:33:49 AM UTC-5, Luigi Dell'Aquila wrote:
>>
>> Hi John,
>>
>> You can try with the following:
>>
>> SELECT FROM YourClass where key = :k where in('Child') contains :p
>>
>> in a situation where you have supernodes it will be faster, but of course
>> it will be a bit slower when you have small fan out
>>
>> Thanks
>>
>> Luigi
>>
>>
>> 2016-12-22 20:57 GMT+01:00 John J. Szucs <[email protected]>:
>>
>>> In my project, I have a fairly large prefix tree, potentially containing
>>> millions of nodes (about 250K nodes in my development instance), managed in
>>> OrientDB (pointing to other vertices in my graph).
>>>
>>> The nodes of the prefix tree are represented by a Token vertex type.
>>> Each Token has a 'key' property and is connected to its child vertices by a
>>> 'child' edge type. So, a sequence like "hello world" would be represented
>>> as:
>>>
>>> root -child-> "hello" -child-> "world"
>>>
>>>
>>> Currently, I have a NOTUNIQUE_HASH_INDEX on Token.key and I am querying
>>> the data structure like this:
>>>
>>> SELECT EXPAND(OUT('child')[key=:k]) FROM :p
>>>
>>>
>>> where *k* is the child key I am looking for and *p* is the RID of the
>>> parent node.
>>>
>>> Generally, performance is pretty good, but I am looking for ideas on
>>> improving the query, the indexing, or both for this use case. In
>>> particular, queries starting at the root node, which has many children,
>>> take noticeably longer than the other, less-connected nodes.
>>>
>>> Any suggestions? Thanks in advance!
>>>
>>> -- John
>>>
>>> --
>>>
>>> ---
>>> 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.
>>>
>>
>> --
>
> ---
> 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.
>

-- 

--- 
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