Thanks a lot for the answers. Still I have a doubt (and a question).
Quote from SQLite Document (http://www.sqlite.org/lang_transaction.html) "After a BEGIN IMMEDIATE, you are guaranteed that no other thread or process will be able to write to the database or do a BEGIN IMMEDIATE or BEGIN EXCLUSIVE." As I understand, it means after issuing BEGIN IMMIDIATE for read-only SELECT(s), no other process can do BEGIN IMMIDIATE even if its for read-only purpose. Even new reader will be blocked if it tries to do BEGIN IMMEDIATE. So if I use BEGIN IMMEDIATE for multiple SELECTs, no other reader thread/process can do BEGIN IMMEDIATE even if it has read-only SELECTs If this is correct, for multiple SELECT statements (read-only, no plan to write), Which one is preferable -> BEGIN TRANSACTION or BEGIN IMMEDIATE ? Rohit -- View this message in context: http://www.nabble.com/Multiple-SELECTs-%28and-single-SELECT%29-and-TRANSACTION---tf2072083.html#a5713541 Sent from the SQLite forum at Nabble.com.