Hello,

Whats the difference between these two options for the SQLITE_THREADSAFE
compile time flag?

From the docs:

(1, SERIALIZED)

   - Safe for use in a multithreaded environment
   - Enables all mutexes including the recursive mutexes on database
   connection and prepared statement objects.
   - The SQLite library will itself *serialize access to database
   connections* and prepared statements


(2, MULTITHREAD)

   - Can be used in a multithreaded program so long as no two threads
   attempt to use the same database connection (or any prepared statements
   derived from that database connection) at the same time.



When SQLITE_THREADSAFE=(1, SERIALIZED), how are the reads/writes queued? Is
it per connection, file, or process?

What happens when a request is in the queue, does it just wait until it can
be actioned, or return SQLITE_BUSY?

On a 8 core machine, how would I get optimal read throughput from a single
database file?

If I have many database connections to the same file, can they all read
concurrently on all cores?


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

Reply via email to