Thank you for your reply. You where right. The getCount() method takes indeed a lot of time. So i filled another window by using fillWindow() like this:
Cursor c = db.query(var1, var2, var3 .....); SQLiteCursor liteCursor = (SQLiteCursor) c; CursorWindow cw = new CursorWindow(true); liteCursor.fillWindow(0, cw); And then looping the CursorWindow to get all rows and columns. I presumed that this would make a performance boost because i thought that by doing this i will cut back on overhead. But this actually takes about 40% more time then simply calling getCount() that eventually loads the data into the cursor I already optimized the database and the queries so there is nothing to gain here. But would you there be another way the get values from a database in a faster way? On 19 mei, 02:52, Marco Nelissen <[email protected]> wrote: > On Mon, May 18, 2009 at 7:47 AM, Sublimity Mobile Software > > <[email protected]> wrote: > > > Hi, > > > Currently i'm working on a database system for some applications. I > > need to do a lot of queries to load data from the database into the > > application. After being amazed how much time it took to do these > > queries on the database i found out that much time was consumed by > > cursor.MoveToFirst(). This functions costs currently ~25% of all my > > database action. > > If you rearrange your code to call getCount() first, you'll find that > getCount() took most of the time. > Basically, it's actually fetching the data that's taking most of the > time, and that data fetch is not done inside query(), but afterwards, > usually as a result of calling getCount(), which calls fillWindow(), > which then fetches the data. moveToFirst() calls getCount() > internally. > If calling getCount() takes too long, then your query is taking too > long. Try optimizing it by using an index, returning less columns, > etc. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -~----------~----~----~----~------~----~------~--~---

