SQLITE的事务处理
来源:互联网 发布:百度收录域名不带www 编辑:程序博客网 时间:2024/05/20 17:27
在对 sqlite3 insert into 等操作时速度比较慢。
原因:它以文件的形式存在磁盘中,每次访问时都要打开一次文件,如果对数据库进行大量的操作,就很慢。
解决办法:用事物的形式提交,因为开始事务后,进行的大量操作语句都保存在内存中,当提交时才全部写入数据库,此时,数据库文件也只用打开一次。如果操作错误,还可以回滚事务。
接口:事务的操作没有特别的接口函数,就是一个普通的 sql 语句而已,分别如下:
int ret ;
ret = sqlite3_exec ( db , "begin transaction" , 0 , 0 , & zErrorMsg ); // 开始一个事务
ret = sqlite3_exec ( db , "commit transaction" , 0 , 0 , & zErrorMsg ); // 提交事务
ret = sqlite3_exec ( db , "rollback transaction" , 0 , 0 , & zErrorMsg );
例程:在进行大量的操作前使用如下语句
ret = sqlite3_exec ( db , "begin transaction" , 0 , 0 ,& zErrorMsg );
for (...)
{
//insert into operate
// 如果操作错误
ret = sqlite3_exec ( db , "rollback transaction" , 0 , 0 , & zErrorMsg )
}
ret = sqlite3_exec ( db , "commit transaction" , 0 , 0 , & zErrorMsg );
- SQLITE的事务处理
- SQLite 事务处理
- SQLite的事务处理和listview的使用
- 【SQLite】使用事务处理带参数的插入
- Android SQLite 事务处理 Operation SQLite
- Android SQLite 事务处理
- Android SQLite 事务处理
- Android SQLite 事务处理
- Android SQLite 事务处理
- Android SQLite 事务处理
- Android SQLite 事务处理
- Android SQLite 事务处理
- Android SQLite 事务处理
- Android SQLite 事务处理
- Android:SQLite 事务处理
- Android SQLite 事务处理
- Android SQLite 事务处理
- 深入Android SQLite 事务处理详解
- DELL 1330复活计内存条的插槽出问题就会使本本出现:开机后只有电源灯和那个A灯(网上查的是充电、放电的指示灯,我想这个是不是跟电源灯作用一样,只要插电源就会亮),在亮47秒后,断电、关机。
- android 系统重启关机流程分析
- 利用Ant编译android工程
- jquery为不存在的元素动态添加事件
- 【C语言助教】随机产生100个数,判断用户输入的key是否在,并且输出key的位置
- SQLITE的事务处理
- 一个关于js函数的传值问题
- 我要搬家,博客园反应太慢了
- TLD算法学习笔记(六)
- MySQL必知必会笔记(一)基础知识和基本操作
- ASP.NET中常用页面指令
- SQLServer的数据类型
- ifconfig做了些什么
- 实验室 今天学习内容