我认为我的SQLite连接发生了数据库连接超时,但我不确定如何增加连接超时时间。命令超时可以使用ConnectionString.DefaultTimeout进行设置,但Connection.ConnectionTimout只读。有什么建议吗?
谢谢, 布莱恩
我认为我的SQLite连接发生了数据库连接超时,但我不确定如何增加连接超时时间。命令超时可以使用ConnectionString.DefaultTimeout进行设置,但Connection.ConnectionTimout只读。有什么建议吗?
谢谢, 布莱恩
超过SQLite查询默认时间(30秒)的超时是您方法有问题的强烈指示。
当并发连接过多时,通常会出现超时。当您进行交错写入/读取事务时,SQLite 的行为表现不佳。
确保将相关的SQL语句划分到单个事务中(性能提升可能达到 x1000!)。
另一个提示:默认情况下,当您开始一个事务(BeginTransaction)时,获取一个写锁的默认行为是立即执行。尝试使用BeginTransaction(deferred)版本,指定您想要延迟获取写锁直到实际需要。这将有助于您处理多个读取器,因为现在它们将能够并发运行。