@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
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
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
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
@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 .
@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;
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
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
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
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 ?
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
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
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
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
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
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
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();
}
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
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:
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
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
21 matches
Mail list logo