Sqlite
文章平均质量分 81
小麒麟666
这个作者很懒,什么都没留下…
展开
-
sqlite多进程并发读写模式下,返回SQLITE_BUSY错误的处理方法
SQLite作为一款小型的嵌入式数据库,本身没有提供复杂的锁定机制,无法内部管理多路并发下的数据操作同步问题,更谈不上优化,所以涉及到多路并发的情况,需要外部进行读写锁控制,否则SQLite会返回SQLITE_BUSY错误,以驳回相关请求,这是由于使用当前连接访问数据时,要申请相应级别的锁,而各个级别的锁有些是互斥的,当申请不到锁时就会返回这个错误。这时只要稍等片刻,等其它连接的操作处理完,释放了原创 2016-06-24 18:38:41 · 25161 阅读 · 3 评论 -
SQLite在多线程环境下的应用
转自:http://www.cppblog.com/inkcpp/archive/2012/03/07/167308.html这几天研究了一下SQLite这个嵌入式数据库在多线程环境下的应用,感觉里面的学问还挺多,于是就在此分享一下。先说下初衷吧,实际上我经常看到有人抱怨SQLite不支持多线程。而在iOS开发时,为了不阻塞主线程,数据库访问必须移到子线程中。为了解决这个矛盾,转载 2016-06-29 11:18:18 · 2035 阅读 · 0 评论 -
sqlite内存数据库和文件数据库的同步
由于sqlite对多进程操作支持效果不太理想,在项目中,为了避免频繁读写 文件数据库带来的性能损耗,我们可以采用操作sqlite内存数据库,并将内存数据库定时同步到文件数据库中的方法。实现思路如下:1、创建文件数据库;2、创建内存数据库(文件数据库、内存数据库的内幕表结构需要一致);3、在内存数据库中attach文件数据库,这样可以保证文件数据库中的内容在内存数据库中可见;4、原创 2016-06-14 17:45:37 · 20310 阅读 · 3 评论 -
SQLite数据库使用小结
最近在分布式服务器上使用了SQLite作为数据库,关于SQLite,个人认为有以下几点最主要的特性①关系型数据库关系型数据库,是指采用了关系模型来组织数据的数据库。简单来说,关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。关系型数据库一般用于数据的持久存储,特别是海量数据的持久存储,以行和列的形式存储数据,支持事务、视图、触发器、索引、自原创 2016-07-19 16:57:06 · 1066 阅读 · 0 评论 -
SQLite的应用场景
准确地说,SQLite并不应该用来直接和MySQL、Oracle、PostgreSQL、SQL Server这些client/server数据库比较,因为SQLite是用来解决其他的问题的。client/server数据库力图实现企业数据的共享库,他们强调可伸缩性、并发、集中和控制。SQLite试图为单独的应用程序和设备提供本地的数据存储,QLite强调经济性、效率性、可靠性、独立性,和简原创 2016-07-19 17:30:25 · 6268 阅读 · 1 评论 -
关系型数据库和非关系型数据库的特性以及各自的优缺点
数据库类型特性优点缺点关系型数据库SQLite、Oracle、mysql1、关系型数据库,是指采用了关系模型来组织数据的数据库;2、关系型数据库的最大特点就是事务的一致性;3、简单来说,关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。1、容易理解:二维表结构是非常贴近逻辑世界的一个概念,关系模型相对网状、层原创 2016-11-25 14:15:45 · 47131 阅读 · 10 评论 -
提升SQLITE插入、查询效率的方法
首先,建立数据库rc = sqlite3_exec(db, "create table if not exists testinfo (id integer primary key, age integer, height text, weight text)", NULL, NULL, &zErr);插入篇:1、sqlite3_exec()通常,我们使用sqlite3_exec()函数来...原创 2016-07-07 17:59:44 · 17015 阅读 · 5 评论