亲爱的开发人员,出于某种原因,在 SSD 磁盘上更新 1720 条记录大约需要 15 秒(尤其是在启用修剪时)。
我使用以下文档调整了 sqlite 设置(效果很好) http://web.utk.edu/~jplyon/sqlite/SQLite_optimization_FAQ.html
我有以下 PRAGMA 设置来优化性能,并且我确实使用了围绕完整更新集的事务。
sqlite3_exec(database, "PRAGMA cache_size=500000;", nil, nil, nil);
sqlite3_exec(database, "PRAGMA synchronous=OFF", nil, nil, nil);
sqlite3_exec(database, "PRAGMA count_changes=OFF", nil, nil, nil);
sqlite3_exec(database, "PRAGMA temp_store=MEMORY", nil, nil, nil);
看起来 SSD 做的太多了(比如删除块等),这使得它阻塞了 15 秒,仅更新了 1720 条简单记录。
奇怪的是:插入 2500 条记录几乎是即时的。你能帮助我并给我一些指示如何解决这个问题吗?