在对sqlite3 insert into 等操作时速度比较慢。
原因是因为它是已文件的形式存在磁盘中,每次访问时都要打开一次文件,
如果对数据库进行大量的操作,那时很慢。
解决办法用事务的形式提交:因为我们开始事务后,进行的大量操作的语句都保存在内存中,当提交时才全部写入数据库,此时,数据库文件也就只用打开一次。
在进行大量的操作前使用如下语句:
rc = sqlite3_exec(db, "begin;", 0,0, &szErrMsg);
for (...)
{
//insert into operate
}
rc = sqlite3_exec(db, "commit;", 0, 0,&szErrMsg);
这样速度提高了近千倍。