If insert speed is important are you doing batch inserts?
If so, you want to do a BEGIN/COMMIT to speed up your inserts a LOT.  Default 
action is to defer which mean no database locks occur during your inserts.
http://www.sqlite.org/lang_transaction.html
 
Michael D. Black
Senior Scientist
Northrop Grumman Mission Systems
 

________________________________

From: sqlite-users-boun...@sqlite.org on behalf of Nathan Biggs
Sent: Fri 4/23/2010 7:50 AM
To: General Discussion of SQLite Database
Subject: Re: [sqlite] Direct access of table data



Max, thanks for the information.  That will be very useful for other
table queries, but not for this one.  For my table in questions there
are 18 fields.  I think an index with 18 fields would be a little crazy.


On 4/23/2010 3:06 AM, Max Vlasov wrote:
>
> > ...As I add more restrictions on the where-clause it
> > tends to slow down.  I realize that this is due to my indexes, but can't
> > add a lot of indexes because it slows down the insert speed which is
> > more important than the query speed.
> >
>
>
> Nathan, maybe you already knew but just in case...
>
> if your select relies on an index and also queries fields not presented in
> that index, consider appending these extra fields to the index. It doesn't
> make sense in terms of search speed, (moreover it will increas the db
> size),
> but this will save time since no extra lookup will be taking place.
>
> So if you have table
> CREATE TABLE  a, b, c,
>
> and index
> CREATE INDEX  ON a, b
>
> and use query similar to
> SELECT a, b, c ... WHERE a= and b =
>
> sqlite will do extra lookup to get c from the table,
>
> but if you change the index to
>
> CREATE INDEX  ON a, b, c
> the same query will get all the data from the index itself saving time and
> the amount of data flow.
>
> I did a quick test and it showed not only a noticable difference in time,
> but also a significant difference in amount of the data read.
>
> Max,
> maxerist.net
> _______________________________________________
> sqlite-users mailing list
> sqlite-users@sqlite.org
> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
>
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users


_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to