本文以INSERT为例介绍影响SQLite3速度的方法。基本方法SQLite3执行INSERT语句的代码如下:for (int i=0; i<count; ++i) { const char *stmt = “INSERT INTO TABLE VALUES(....)”; sqlite3_exec(db, stmt, 0, 0, 0);} 开启事务事务保证数据库执行语句的完整性,是开销较大的动作。每次INSERT语句隐式开启一个事务,多次INSERT语句则会开启多次。显示开启事务可以合并多次INSERT语句的事务,如下:sqlite3_exec(db,"BEGIN;",0,0,0);for(int i=0; i<count; ++i) { const char *stmt = “INSERT INTO TABLE VALUES(....)”; sqlite3_exec(db,ssm.str().c_str(),0,0,0);}sqlite3_exec(db,"COMMIT;",0,0,0); 设置同步设置synchronous选项,可选值为full、normal、off,默认为full。其值full最安全但
...
继续阅读
(30)