我認爲我的SQLite連接遇到數據庫連接超時,但我不確定如何提高連接超時。命令超時可以使用ConnectionString.DefaultTimeout來設置,但Connection.ConnectionTimout是隻讀的。有什麼建議麼?在System.Data.SQLite中設置ConnectionTimeout
感謝, 布賴恩
我認爲我的SQLite連接遇到數據庫連接超時,但我不確定如何提高連接超時。命令超時可以使用ConnectionString.DefaultTimeout來設置,但Connection.ConnectionTimout是隻讀的。有什麼建議麼?在System.Data.SQLite中設置ConnectionTimeout
感謝, 布賴恩
它被設置在連接字符串中:SqlConnection
超過默認值(30秒)超時SQLite的查詢是一個強烈的信號,什麼是錯在你的方法。
超時通常發生在併發連接過多時。當你有交織的寫入/讀取事務時,SQLite表現不佳。
確保您在單個事務中分塊存儲相關SQL語句(性能增益可能爲x1000!)。
另一個提示:默認情況下 - 當您啓動一個事務(BeginTransaction)時 - 默認行爲是立即獲得寫鎖定。嘗試使用BeginTransaction(已緩存)版本,並指定您希望延遲獲取寫鎖,直到實際需要爲止。這將有助於你如果有多個閱讀器,因爲現在他們可以同時運行。
非常有幫助謝謝! – 2009-07-28 15:41:44