Hi Bryan,

probably the problems arises because the system has to expand all these big
collections in memory.
I'd suggest you to change your model a bit, adding a reverse link from
log_event to log (or even better, an edge), so that you can refactor your
query like following:

select from log_event where log in [#10:0, #10:1, #10:4] and log.log_level
= 1 ORDER BY timestamp ASC LIMIT 1000

this way you will have much more flexibility in adding indexes on log and
timestamp properties, it will optimize a lot filtering and sorting and it
will also save a lot of memory (sorting is a memory intensive operation)

Luigi


2015-09-17 0:34 GMT+02:00 Bryan <[email protected]>:

> OrientDB 2.1.2
> plocal connection
> ODocument API
>
> Hi all,
>
> Evaluating OrientDB, I'm trying to optimize a query that is running out of
> memory and pretty slow. I'm sure I must be doing something wrong.
> Say I have a simple schema like the following:
>
> log
>   + name (String)
>   + events (RIDBAG of log_event)
>
> log_event
>   + message (String)
>   + level (int)
>   + timestamp (Date)
>
> and say I want to find all of the log events from a list of logs that have
> a specified level and order by timestamp...
> I.e. "select from (select expand(log_events) from [#10:0, #10:1, #10:4])
> where log_level = 1 ORDER BY timestamp ASC LIMIT 1000"
>
> This works fine but when I start to get 100k+ records, things slow down
> and explode and such. I'm sure my query must be the problem.
>
> So the question is, how can I query collections and get the OIdentifiable
> or ODocument that satisfy a given condition?
>
>
>
> --
>
> ---
> 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