我的工作环境是:windows、c++、vc2010,sqlite3数据库。
我把sqlite3源码都整合到了自己的工程中。
在清空一个数据库文件时,我现在做的方式如下(粗略):
sqlite3_exec( pDb, "BEGIN TRANSACTION;", NULL, NULL, NULL );
sqlite3_exec( pDb, "delete from Db;", NULL, NULL, NULL );
sqlite3_exec( pDb, "COMMIT TRANSACTION;", NULL, NULL, NULL );
这种方式,对于小数据库文件来说,很快,但是对于300M左右的数据库文件,速度会很慢,要删除个5-6分钟。
大家有什么好的方式或者建议吗?
多谢大家了。
------解决方案--------------------------------------------------------
最好准备个空DB(包含所有表结构),直接COPY