Once this fix has landed, I see even ways to improve time based queries
if they are not using the cornercase "complete TimeRange", but we
shouldn't take the second step before the first one...

Make timestamp related queries faster
You received this bug notification because you are a member of Zeitgeist
Framework Team, which is subscribed to Zeitgeist Framework.

Status in Zeitgeist Framework: In Progress

Bug description:
When grep'ing the source of `unity-place-applications` and `unity-place-files` 
you will find out that these two products are using the FindEvents method, and 
both products are using this method to query for the complete time interval [0, 
sys.maxint] (aka. TimeRange.always()). And I've seen similar queries in other 
clients too. So I think it is worth trying to optimize the query for this kind 
of queries.

The attached script is timing the exactly same query which is used in 
`unity-place-applications` on a database which contains 50k events, with 100 
randomly choosen different actors.

On lp:zeitgeist the find_events query returns the 6 events with most popular 
actors in ~0.22s
---> MostPopularActor: get len(ids)=6 using .find_eventids() in 0.224661s

By making the sql queries on the timestamp column conditional we will be able 
to reduce this time to
---> MostPopularActor: get len(ids)=6 using .find_eventids() in 0.069161s

Mailing list: https://launchpad.net/~zeitgeist
Post to     : zeitgeist@lists.launchpad.net
Unsubscribe : https://launchpad.net/~zeitgeist
More help   : https://help.launchpad.net/ListHelp

Reply via email to