On 2/18/06, SanjayK <[EMAIL PROTECTED]> wrote:
>
>
> I am using a virtual tree control to display columns dynamically when
> needed
> from the sqlite database. While it works ok for display purposes, in
> certain
> other operations, I need to improve the speed. I found that the new sqlite
> random access (even with prepared/transaction) approach is about 15 times
> slower than my earlier design where I was using a direct access file with
> read, seek, etc on Windows.
>
> In spite of this, sqlite has several advantages and I am staying with it.
> I
> am looking for speed improvement suggestions. Somewhere in a thread I read
> "disable indexing." I can't find any reference to how to do it in the docs
> or in this group. How do I disable indexing? I will also appreciate any
> other suggestions for speed improvement too.
>
> Basically, these random access routines are very simple:
>
> * Use a prepared read statement to get one column value directly.
> * I am using a generic read statement that reads all columns desired but I
> directly get only one column value after the Step. I tried to prepare a
> single column read statement but that didn't help much over the generic
> read.


Sanjay,

The idea of disabling indexing to improve speed only applies to writing the
database. SQLite must update each index for every record that is inserted,
so if you delete the indexes you reduce the amount of work (and I/O) that
must be done to add a record. Removing indexes won't speed up queries, and
it might greatly slow them down if you delete an index that is being used to
accelerate your query.

HTH
Dennis Cote

Reply via email to