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