Python的sqlite3模块中的超时参数是否影响正常交易的速度?

Does the timeout parameter in Python's sqlite3 module affect the speed of normal transactions?

我是 运行 Python 在 Android phone 上使用 SL4A 的脚本(遗憾的是现在基本上已经死了)。 SL4A 提供 Python 2.6.

此脚本(以及其他一些进程)使用 Python 内置的 sqlite3 模块访问 sqlite 数据库。由于它 运行 在极低端 phone,这会造成并发问题,因为进程之间的数据库写入会发生冲突,从而导致频繁出现 OperationalError: database is locked 异常。

为了解决这个问题,我将 sqlite3.connect 调用中的 timeout 参数(参见 here 的文档)从默认的 5 秒增加到 20 秒。根据文档,这将增加 sqlite 在抛出 database is locked 异常之前等待的时间。

我的问题是:超时的增加是否也会影响其他事务的性能,即那些没有被另一个进程阻塞的事务?或者这只是为了这个目的的超时?

我很担心,因为我更改此参数后性能似乎有所下降。考虑到我工作的环境非常有限,我一直无法弄清楚如何客观地测试性能,所以这种看法可能是错误的。

timeout 只有在两个交易实际发生冲突时才重要。