2013-03-20 51 views
4

我有一個使用SQLite的應用程序。它使用七個不同的數據庫文件,每個文件都使用sqlite3_open創建連接。其中六個不是性能關鍵,但一個是。我可以針對不同的數據庫以不同的方式調整內存緩存大小嗎?

我想使用PRAGMA cache_size增加對性能至關重要的數據庫連接的內存緩存。但是,這會更改所有連接的緩存大小。對於七個數據庫中的每一個,我沒有足夠的內存來使用盡可能多的內存,因爲我需要使用性能關鍵的內存。

我已確認該設置確實會影響所有連接。我已經確認沒有公共池 - 每個連接都單獨限制到指定的內存量。

有沒有簡單的解決方法?

回答

3

PRAGMA cache_size僅影響一個數據庫連接。

確保您的連接不是shared(使用sqlite3_enable_shared_cacheSQLITE_OPEN_SHAREDCACHE)。

+0

我只是再次仔細測試,你是對的。該設置不會影響所有連接。 – 2013-03-20 08:13:34

相關問題