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 <[email protected]> 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 <[email protected]> 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 <[email protected]>
> 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 <[email protected]> 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 <[email protected]>
> > > 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 <
> [email protected]
> > > >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<[email protected]> 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
> > > [email protected]
> > > > >> To unsubscribe from this group, send email to
> > > > >> [email protected]<android-developers%[email protected]>
> <android-developers%[email protected]<android-developers%[email protected]>
> >
> > > <android-developers%[email protected]<android-developers%[email protected]>
> <android-developers%[email protected]<android-developers%[email protected]>
> >
> >
> > > > >> 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
> [email protected]
> > > To unsubscribe from this group, send email to
> > > [email protected]<android-developers%[email protected]>
> <android-developers%[email protected]<android-developers%[email protected]>
> >
> > > 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 [email protected]
> To unsubscribe from this group, send email to
> [email protected]<android-developers%[email protected]>
> 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 [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