我认为我的SQLite连接遇到数据库连接超时,但我不确定如何提高连接超时。可以使用ConnectionString.DefaultTimeout设置命令超时,但Connection.ConnectionTimout是只读的。有什么建议吗?
谢谢, 布赖恩
答案 0 :(得分:11)
超过SQLite查询的默认(30秒)超时表明您的方法出了问题。
当并发连接太多时,通常会发生超时。当你有交错的写/读事务时,SQLite表现不佳。
确保在单个事务中分块相关的SQL语句(性能增益可以是x1000!)。
另一个提示:默认情况下 - 启动事务时(BeginTransaction) - 默认行为是立即获得写锁定。尝试使用BeginTransaction(deffered)版本,并指定您希望延迟获取写锁,直到实际需要它为止。如果有多个读者,这将对您有所帮助,因为现在他们可以同时运行。
答案 1 :(得分:2)
在连接字符串中设置:SqlConnection