有没有办法控制SQLite数据库如何成为Windows备用内存的一部分?
我有一个服务,根据进程间请求不断读取/写入SQLite数据库。事实证明,Windows正在将整个数据库文件放入备用内存(我使用RamMap来确认这一点)。
当我的服务配置为允许数据库增长到大尺寸(例如10GB或更大)时,操作系统会变得过载。同样,RamMap显示10GB +数据库文件处于待机状态。
我正在使用System.Data.SQLite
作为SQLite API,并使用以下编译指示:
PRAGMA synchronous=OFF;
PRAGMA journal_mode=MEMORY;
PRAGMA read_uncommited=True;
PRAGMA temp_store=MEMORY;
PRAGMA cache_size=10000;
PRAGMA busy_timeout=50;
PRAGMA threads=8;