Re: [android-developers] Re: Database insertion timings

2010-04-14 Thread Alok Kulkarni
@Walter, i tried that out. Instead of sb.toString() , i put the insert statement string over there with Compile statement format.. Its taking *27* *seconds *!! The database schema is as follows Table *Artist* id Integer Primary Key name nvarchar(200) Table *Album* name nvarchar(200) label

[android-developers] Re: Database insertion timings

2010-04-14 Thread Walter
Could you post your code here. compileStatement is usually for batch reusable SQL statement, It's kind of best practice to use this in this case. no reason that it's slower than normal SQL. On Apr 14, 1:17 am, Alok Kulkarni kulsu...@gmail.com wrote: @Walter, i tried that out. Instead of

[android-developers] Re: Database insertion timings

2010-04-13 Thread Bob Kerns
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

Re: [android-developers] Re: Database insertion timings

2010-04-13 Thread Alok Kulkarni
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

Re: [android-developers] Re: Database insertion timings

2010-04-13 Thread Alok Kulkarni
@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 .

Re: [android-developers] Re: Database insertion timings

2010-04-13 Thread Alok Kulkarni
@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;

[android-developers] Re: Database insertion timings

2010-04-13 Thread Walter
Use SQLiteStatement.compileStatement, I do believe it should be faster with my 10 years database programming experience, though I didn't test, Let me know if you have a result. Here is some code from my Remote RDP program for importing data to the table: SQLiteStatement

[android-developers] Re: Database insertion timings

2010-04-13 Thread Dave Johnston
On Apr 12, 7:50 am, 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. Can you post the schema of the database you're

[android-developers] Re: Database insertion timings

2010-04-12 Thread Yahel
Hi Alok, Posting some logic, or some sql would help us see if you are missing something :) 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

[android-developers] Re: Database insertion timings

2010-04-12 Thread Yahel
According to SQLite documentation , inserting 1 records in a database takes time  around 2 to 3 seconds. Did you take into account that the sqlite documentation is probably taking a standard PC (2GHz, 1GB of ram) as its default value not a mobile device with a quarter of the resources ?

Re: [android-developers] Re: Database insertion timings

2010-04-12 Thread Michael Rueger
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 Kulkarnikulsu...@gmail.com wrote: Hi, I am inserting around 7000 to 8000

Re: [android-developers] Re: Database insertion timings

2010-04-12 Thread Alok Kulkarni
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

Re: [android-developers] Re: Database insertion timings

2010-04-12 Thread Alok Kulkarni
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

[android-developers] Re: Database insertion timings

2010-04-12 Thread MobDev
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#transactions On 12 apr, 12:32, Alok Kulkarni kulsu...@gmail.com wrote: I have

Re: [android-developers] Re: Database insertion timings

2010-04-12 Thread Alok Kulkarni
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

[android-developers] Re: Database insertion timings

2010-04-12 Thread MobDev
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

Re: [android-developers] Re: Database insertion timings

2010-04-12 Thread Alok Kulkarni
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(); }

Re: [android-developers] Re: Database insertion timings

2010-04-12 Thread Alok Kulkarni
Each of these above functions insert records in 3 seperate tables in the same database. Thanks , Alok On Mon, Apr 12, 2010 at 7:51 PM, Alok Kulkarni kulsu...@gmail.com wrote: Before the 1st insert call i am doing db.beginTransaction(); for(i = 0 i 2000 ; i++) addAlbumDB(); for(i = 0 i

[android-developers] Re: Database insertion timings

2010-04-12 Thread MobDev
Actually, Im just guessing here, shouldnt you use staretTransaction and endTransaction instead of setTransactionSuccesfull() ??? Right now you as a developer are specifically marking the transaction as succesfull, is that what you want ? On 12 apr, 16:22, Alok Kulkarni kulsu...@gmail.com wrote:

[android-developers] Re: Database insertion timings

2010-04-12 Thread Yahel
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

[android-developers] Re: Database insertion timings

2010-04-12 Thread Zsolt Vasvari
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