No worries, I had figured you meant this applied to multiple read
statements.

RBS

On Thu, Jan 18, 2018 at 9:24 AM, R Smith <[email protected]> wrote:

>
> On 2018/01/17 4:26 PM, Bart Smissaert wrote:
>
>> 3. Start a transaction and hold the DB read locks for the duration of
>>>
>> your application (again, if it won't need writing)
>>
>> I had a look at this but couldn't see a speed increase.
>> This was for a single statement, so that is repeated (in a
>> loop) sqlite3_step, sqlite3_column_xxx etc.
>> In what situation should this increase read speed?
>>
>
> Apologies, should have been more clear - this will increase the speed
> between queries FOR consecutive queries, not so much inside any single
> query.
>
> To see why is easy, the loop amounts to either:
>
> // Slower loop:
> for each q in queries do {
>   Acquire read lock;
>   Prepare;
>   Loop query results;
>   Release readlock;
> }
>
> - OR -
>
> // Faster loop:
> Start Transaction;
> Acquire read lock;
> for each q in queries do {
>   Prepare;
>   Loop query results;
> }
> Release readlock;
> End Transaction;
>
> (This is very simplified and not technically 100% accurate how SQLite does
> it, but you get the idea).
>
>
>
>
> _______________________________________________
> sqlite-users mailing list
> [email protected]
> http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
>
_______________________________________________
sqlite-users mailing list
[email protected]
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to