【发布时间】:2011-06-06 15:37:58
【问题描述】:
亲爱的开发人员,出于某种原因,在 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 条记录几乎是即时的。 你能帮我并给我一些如何解决这个问题的建议吗?
【问题讨论】:
标签: performance sqlite solid-state-drive