Does the timeout parameter in Python's sqlite3 module affect the speed of normal transactions?
<p>I am running a Python script on an Android phone using <a href="http://www.github.com/damonkohler/sl4a" rel="nofollow">SL4A</a> (sadly now basically dead).  SL4A provides Python 2.6.</p>

<p>This script (along with some other processes) accesses an sqlite database using Python's built in <a href="https://docs.python.org/2/library/sqlite3.html" rel="nofollow">sqlite3</a> module.  As it is running on an extremely low end phone, this is creating concurrency problems as database writes between processes are clashing, resulting in frequent <code>OperationalError: database is locked</code> exceptions.  </p>

<p>To deal with this, I've increased the <code>timeout</code> parameter in the <code>sqlite3.connect</code> call (see <a href="https://docs.python.org/2/library/sqlite3.html#sqlite3.Connection" rel="nofollow">here</a> for the documentation) to 20 seconds from the default 5 seconds.  According to the docs, this will increase the time that sqlite waits before throwing the <code>database is locked</code> exception.</p>

<p><strong>My question is: will this increase in the timeout also affect the performance of other transactions, i.e. those that are not blocked by another process?  Or is this only a timeout for this purpose alone?</strong> </p>

<p>I'm concerned because there seems to be a drop in performance after I changed this parameter.  Given the very limited environment I'm working in, I haven't been able to figure out how to objectively test performance, so this perception might be wrong. </p>