@mobDev, I have followed some links , example http://www.higherpass.com/Android/Tutorials/Accessing-Data-With-Android-Cursors/3/ where they were doing setTransactionSuccessful before ending transaction. Removing that statement does not have an effect. Even if i do say String tempName = "Artist"; String tempVal = "Enrique"; int tempId = 0; for(i = 0;i< 7000;i++) { tempId++; addArtistDB(tempID,tempName,tempVal1); } It takes 20 seconds .So there is not much time required for accessing the data i want to put into database. The actual insertion itself is taking so much time. As Sqlite is native to Android , i assume it must be fast enough. One more thing , Same amount of insertions on a Windows Mobile Device , using a Third Party SQLite DLL , its taking 5 to 6 seconds.. Its not that i am blaming android , but i am getting frustrated now :( :(
Thanks , Alok. On Tue, Apr 13, 2010 at 1:07 PM, Alok Kulkarni <kulsu...@gmail.com> wrote: > @mobDev, Ending transaction > > On Tue, Apr 13, 2010 at 12:59 PM, Alok Kulkarni <kulsu...@gmail.com>wrote: > >> I do not have any indices for my tables at all. >> Each of the tables Artist, Albumn and Songs has 4,5,5 columns >> respectively. >> Using Raw query as Yahel said improves the speed to some extent . >> Inserting 7000 records takes 18 seconds instead of 22 but thats not much as >> in total , i am going to insert 30000 to 40000 entries , which will take >> hell lot of time.. >> Using raw queries is not much helpful as the data itself might contain >> quotes and double quotes. >> Thanks , >> Alok. >> >> >> On Tue, Apr 13, 2010 at 11:32 AM, Bob Kerns <r...@acm.org> wrote: >> >>> It is often better to insert all the data and THEN create the indexes. >>> I couldn't tell you about Sqlite. >>> >>> You may want to create the primary index, but create all the other >>> indexes later. >>> >>> On Apr 12, 5:33 pm, Zsolt Vasvari <zvasv...@gmail.com> wrote: >>> > No, database writing is extremely slow especially with many indecies. >>> > >>> > In my app, I am getting maybe 10 insers a seconds into a table with 20 >>> > columns and 15 indecies. As my app is probably 99.9% reads, I didn't >>> > try optimizing the writes too much, not sure if it's even possible. >>> > >>> > On Apr 13, 12:33 am, Yahel <kaye...@gmail.com> wrote: >>> > >>> > >>> > >>> > > Ok, you are right if the pre and the iphone are 10x faster, it can't >>> > > be right. >>> > >>> > > I don't see anything wrong in your code, so only two things come to >>> > > mind : >>> > >>> > > - Instead of using ContentValues, try to create an insert sql >>> > > statement and send it to via SQLiteDatabase.execSQL to see if there >>> is >>> > > any improvement >>> > > - Maybe it's not the database writing that is slow but the reading >>> > > from wherever your getting the data ? >>> > >>> > > Yahel >>> > >>> > > On 12 avr, 12:31, Alok Kulkarni <kulsu...@gmail.com> wrote: >>> > >>> > > > Ok, >>> > > > @Yahel:- For the insertion of same records on a Palm device(Say >>> Palm Pre) , >>> > > > its taking 3 seconds.. >>> > > > On an IPhone , its taking 1 or 2 seconds.. >>> > > > Here is an example of what i am doing.. >>> > > > private Boolean addAlbumDB(int AlbumId, String Name, String Label, >>> > > > int MultipleArtists, int ArtistId) { >>> > > > long result = -1; >>> > >>> > > > try { >>> > >>> > > > ContentValues initialValues = new ContentValues(); >>> > > > initialValues.put(KEY_ID, AlbumId); >>> > > > initialValues.put(KEY_NAME, Name); >>> > > > initialValues.put(KEY_LABEL, Label); >>> > > > initialValues.put(KEY_ARTIST_ID, ArtistId); >>> > > > initialValues.put(KEY_MULTIPLE_ARTISTS, >>> MultipleArtists); >>> > >>> > > > result = db.insert(DATABASE_TABLE, null, >>> initialValues); >>> > >>> > > > } catch (Exception e) { >>> > > > Log.i("Exception in addAlbumDB", "" + e.toString()); >>> > > > return false; >>> > > > } >>> > >>> > > > if (result == -1) >>> > > > return false; >>> > > > return true; >>> > > > } >>> > >>> > > > The above function is called for around 2000 times.. >>> > > > Similarly there are 2 3 more functions for other tables. >>> > > > Thanks, >>> > > > Alok. >>> > >>> > > > On Mon, Apr 12, 2010 at 2:33 PM, Michael Rueger < >>> mike.rue...@gmail.com>wrote: >>> > >>> > > > > On 4/12/2010 10:59 AM, Yahel wrote: >>> > >>> > > > >> Hi Alok, >>> > >>> > > > >> Posting some logic, or some sql would help us see if you are >>> missing >>> > > > >> something :) >>> > >>> > > > > (excessive) use of indices comes to mind :-) >>> > >>> > > > > Michael >>> > >>> > > > >> Yahel >>> > >>> > > > >> On 12 avr, 08:50, Alok Kulkarni<kulsu...@gmail.com> wrote: >>> > >>> > > > >>> Hi, >>> > > > >>> I am inserting around 7000 to 8000 records in my database >>> having 4 tables >>> > > > >>> each having 3 to 4 columns.Its taking me around 22 seconds to >>> do the >>> > > > >>> insertion which is i think is too long. I am using transaction >>> while >>> > > > >>> doing >>> > > > >>> this without which its taking around 55 seconds. >>> > > > >>> According to SQLite documentation , inserting 10000 records in >>> a database >>> > > > >>> takes time around 2 to 3 seconds. >>> > > > >>> Am i missing something , or is the behaviour correct? >>> > > > >>> Thanks, >>> > > > >>> Alok >>> > >>> > > > > -- >>> > > > > You received this message because you are subscribed to the >>> Google >>> > > > > Groups "Android Developers" group. >>> > > > > To post to this group, send email to >>> android-developers@googlegroups.com >>> > > > > To unsubscribe from this group, send email to >>> > > > > android-developers+unsubscr...@googlegroups.com<android-developers%2bunsubscr...@googlegroups.com><android-developers%2Bunsubs >>> cr...@googlegroups.com> >>> > > > > For more options, visit this group at >>> > > > >http://groups.google.com/group/android-developers?hl=en >>> > >>> > > > > To unsubscribe, reply using "remove me" as the subject.- Hide >>> quoted text - >>> > >>> > > - Show quoted text - >>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "Android Developers" group. >>> To post to this group, send email to android-developers@googlegroups.com >>> To unsubscribe from this group, send email to >>> android-developers+unsubscr...@googlegroups.com<android-developers%2bunsubscr...@googlegroups.com> >>> For more options, visit this group at >>> http://groups.google.com/group/android-developers?hl=en >>> >> >> > -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en