使用Qt *** 作SQLite,可以使用QSqlQuery对象来执行VACUUM命令。例如:
// 创建一个数据库连接 QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE")db.setDatabaseName("mydb.sqlite")if(!db.open()) { qDebug() <<"Error: connection with database fail"} else { qDebug() <<"Database: connection ok"} // 执行 VACUUM 命令 QString queryStr = "VACUUM"QSqlQuery query(queryStr, db)if (!query.exec()) { qDebug() <<"Error: Vacuum failed" } else { qDebug() <<"Vacuum successful!" }
在数据删除后,手动执行VACUUM命令,执行方式很简单sqlite>vacuum;
VACUUM命令会清空“空闲列表”,把数据库尺寸压缩到最小。但是要耗费一些时间。
FQA里面说,在Linux的环境下,大约0.5秒/M。并且要使用两倍于数据库文件的空间。
我憎恨此FQA,他只说系统环境,不说机器硬件环境。我在测试手机上执行用了将近13秒时间压缩了将近3M的空间。至于它所占用的另一部分空间,是生成了一个.db-journal后缀名的临时文件。(这个问题对我现在来说是无所谓的。)
首先你需要去下载一个 Navicat for SQLite ,怎么下载这里我不多说,你可以去百度搜索。最好下载绿色版。搜索 “Navicat for SQLite 绿色版”。下载后,右击软件包进行解压缩。
下载后双击文件夹,打开文件目录,找到 navicat.exe 这个主程序,右击在d出菜单依次点击【发送到(N)】--->【桌面快捷方式】。
这时你的电脑桌面就多了一个 navicat.exe 的快捷方式图标,以后需要打开,直接点击这个快捷方式就可以了。
双击桌面快捷方式,打开软件,在软件左上角点击【连接】按钮,点击后d出新建连接对话框。
在d出窗口中输入【连接名】,选择【类型】-然后在下面选择数据库文件,或者数据库保存位置。
7
这样就在你的指定位置创建了一个Sqlite数据库文件了,有了这个数据库文件你可以做任何数据库的 *** 作了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)