關於sqlite3速度慢的原因解決方法
在對sqlite3 insert into 等操作時速度比較慢。
原因是因為它是已文件的形式存在磁盤中,每次訪問時都要打開一次文件,
如果對數據庫教程進行大量的操作,那時很慢。
解決辦法用事務的形式提交:因為我們開始事務後,進行的大量操作的語句都保存在
內存中,當提交時才全部寫入數據庫,此時,數據庫文件也就只用打開一次。
在進行大量的操作前使用如下語句:
rc = sqlite3_exec(db, "begin;", 0,0, &szerrmsg);
for (...)
{
//insert into operate
}
rc = sqlite3_exec(db, "commit;", 0, 0,&szerrmsg);
這樣速度提高了近千倍。