当前位置: 代码迷 >> 其他数据库 >> sqlite3如何高效的清空所有数据呢
  详细解决方案

sqlite3如何高效的清空所有数据呢

热度:7581   发布时间:2013-02-26 00:00:00.0
sqlite3怎么高效的清空所有数据呢?
我的工作环境是: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