Public bug reported:

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

** Affects: zeitgeist
     Importance: Undecided
     Assignee: Markus Korn (thekorn)
         Status: In Progress

-- 
Make timestamp related queries faster
https://bugs.launchpad.net/bugs/650930
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