【发布时间】:2012-01-05 00:15:38
【问题描述】:
我正在使用 SQLITE 显式创建事务,即:
sqlite3_exec(db, "BEGIN", NULL, NULL, NULL);
做一堆插入
sqlite3_exec(db, "END", NULL, NULL, NULL);
我希望数据库缓冲这对之间的插入,直到命中 END,然后将其全部刷新到磁盘。
它似乎没有这样做,而是定期刷新到磁盘。
我还注意到,有时我无法从不同进程对同一数据库成功执行 select 语句,我怀疑这可能与我的事务使用策略有关。在这些情况下,选择会因为数据库上的 LOCK 或 BUSY 状态而失败。
有谁知道如何手动处理 SQLITE 以缓冲插入以提高性能?
非常感谢!
【问题讨论】:
标签: sqlite