OrientDB version : 2.1.2

I have set up a time series to store logging data from a number of my 
devices. I am seeing about a million log entries a day so the time series 
is set up to store by year, month, day, hour and minute (see forum entry 
'Time Series Java API example and from docs 
http://orientdb.com/docs/2.1/Time-series-use-case.html)

If I want to count *the total number of logs in a particular day, for a 
particular device *I use...

select count(*) from (SELECT expand (log) FROM (TRAVERSE minute FROM 
(TRAVERSE hour FROM (select expand(month[9].day[29]) from year where label 
= '2015')))) where device = "VB7948"

this takes about 100 seconds, which I guess is not too bad.

However if I want to return the actual results i.e.

select from (SELECT expand (log) FROM (TRAVERSE minute FROM (TRAVERSE hour 
FROM (select expand(month[9].day[29]) from year where label = '2015')))) 
where device = "VB7948"
this too takes about 100 seconds, which seems very reasonable when we 
consider it is returning a million entries!

So my question - why is count not any faster?

When I execute a similar query on my old RDBMS (involving comparisions of 
timestamps from a single large table) OrientDB outperforms on the select 
statement (yay!) but the RDBMS can execute the count in half the time.

Am I doing something silly?



-- 

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