sqlite操作总结(四)
2016-06-07 22:08
211 查看
sqlite是一款轻量级的数据库,提供了C/C++的API,在嵌入式领域应用广泛。我是在Linux下利用sqlite的源码编译成动态库,在我的代码里直接调用sqlite的接口,非常易于使用。
当我们把执行sqlite3_exec接口,插入数据的时候默认一条语句就是一个事务,数据会马上写入数据库,再从接口返回,即有多少条数据就有多少次磁盘操作,在对性能要求高的场景下会是一个问题。sqlite提供了对事务进行控制的方法。当调用sqlite3_exec接口执行下面sql语句:
那么在遇到下面语句:
之前对数据库的操作都会被记录,直到遇到END TRANSACTION才真正地作为一组事务执行。
当我们把执行sqlite3_exec接口,插入数据的时候默认一条语句就是一个事务,数据会马上写入数据库,再从接口返回,即有多少条数据就有多少次磁盘操作,在对性能要求高的场景下会是一个问题。sqlite提供了对事务进行控制的方法。当调用sqlite3_exec接口执行下面sql语句:
sqlite3_exec(dbHandle, "BEGIN TRANSACTION;", 0, 0, 0);
那么在遇到下面语句:
sqlite3_exec(dbHandle, "END TRANSACTION;", 0, 0, 0);
之前对数据库的操作都会被记录,直到遇到END TRANSACTION才真正地作为一组事务执行。
相关文章推荐
- 【SQLServer】DBHelper即C#数据库底层封装
- 允许远程用户登录访问mysql
- 如何卸载干净MySQL,在重新装一个新的MySQL?(给新手)
- sqlite 中的or 和 and
- sqlite用法总结
- SqlJDBC连接问题
- mongodb replica sets复制集详解
- Sqlite 增删改查
- SQLSERVER排名函数RANK,DENSE_RANK,NTILE,ROW_NUMBER
- 快速设置Mysql的auto_increment参数
- web.xml 中的listener、 filter、servlet 加载顺序及其详解
- SQL基本结构化查询语句
- SQL Server系列之 删除大量数据
- MySQL的转义字符“\”
- 基于数据库复制的技术架构讨论
- Mysql Date 函数
- 数据库范式简析和举例
- 数据库的增删改查
- Chapter 2. SQL Server数据类型
- spark sql之访问 hive 和 MySQL