@mobDev, Ending transaction

On Tue, Apr 13, 2010 at 12:59 PM, Alok Kulkarni <[email protected]> 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 <[email protected]> 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 <[email protected]> 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 <[email protected]> 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 <[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%2Bunsubs
>> [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.- 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 [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

Reply via email to