Before the 1st insert call i am doing db.beginTransaction(); for(i = 0 i <2000 ; i++) addAlbumDB(); for(i = 0 i <3000 ; i++) addArtistDB(); for(i = 0 i <2000 ; i++) addSongDB(); try { db.setTransactionSuccessful(); } finally { db.endTransaction(); }
On Mon, Apr 12, 2010 at 7:18 PM, MobDev <developm...@mobilaria.com> wrote: > I don't see a specific transaction ??? > Anyways transaction should only be used if you have multiple actions > you are doing on your database (like several insert/update > operations)... > > On 12 apr, 15:43, Alok Kulkarni <kulsu...@gmail.com> wrote: > > This is a standard class DatabaseHelper extending SQLiteOpenHelper... > > > > private static class DatabaseHelper extends SQLiteOpenHelper { > > DatabaseHelper(Context context, String databaseName) { > > super(context, databaseName, null, DATABASE_VERSION); > > } > > > > @Override > > public void onCreate(SQLiteDatabase db) { > > // Nothing to do > > } > > > > @Override > > public void onUpgrade(SQLiteDatabase db, int oldVersion, int > > newVersion) { > > Log > > .w("Upgrade", "Upgrading database from version " > > + oldVersion + " to " + newVersion > > + ", which will destroy all old data"); > > db.execSQL("DROP TABLE IF EXISTS titles"); > > onCreate(db); > > } > > } > > > > Then i have > > private SQLiteDatabase db; > > This db object is used to perform insert operations. > > Thanks, > > Alok. > > // ---opens the database--- > > > > public void open() throws SQLException { > > db = DBHelper.getWritableDatabase(); > > } > > > > On Mon, Apr 12, 2010 at 6:20 PM, MobDev <developm...@mobilaria.com> > wrote: > > > do you have some code specifically showing the sequence and the > > > syntax ? > > > AAfaik a transaction SHOULD make it faster accroding to this > > > documentation : > > >http://web.utk.edu/~jplyon/sqlite/SQLite_optimization_FAQ.html#transa..<http://web.utk.edu/%7Ejplyon/sqlite/SQLite_optimization_FAQ.html#transa..> > .<http://web.utk.edu/%7Ejplyon/sqlite/SQLite_optimization_FAQ.html#tran.. > .> > > > > > On 12 apr, 12:32, Alok Kulkarni <kulsu...@gmail.com> wrote: > > > > I have started the transaction before the 1st insert , and ended it > after > > > > the last insert.... > > > > Thanks, > > > > Alok. > > > > > > On Mon, Apr 12, 2010 at 4:01 PM, 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%2bunsubscr...@googlegroups.com<android-developers%252bunsubscr...@googlegroups.com> > > > > > <android-developers%2bunsubscr...@googlegroups.com<android-developers%252bunsubscr...@googlegroups.com> > <android-developers%252bunsubscr...@googlegroups.com<android-developers%25252bunsubscr...@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. > > > > > -- > > > 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%2bunsubscr...@googlegroups.com<android-developers%252bunsubscr...@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<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