我有一个SQLite3
数据库,我为每个表插入每一行数据(每行500字节)(大约100个表)。几分钟后,为了保持DB大小,我还删除了每个表中的最后一行。 Ao我完全插入50K数据,在稳定状态下我删除50K数据。我在事务中包装插入和删除,每次我提交那些事务。
WAL
启用 sync mode = NORMAL
模式。还有另一个进程偶尔会对数据库执行读操作,但这些进程非常快。
我看到一种奇怪的行为。每隔几分钟,commit命令本身需要几秒钟,而在其他时候需要几毫秒。我尝试使用wal_autocheckpoint
但没有成功。
值得一提的是,文件系统正在Linux VM上运行Linux软件raid。如果没有突袭,表现会更好,但那些“打嗝”仍然会发生。
谢谢!