
Android 数据库
devyok
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Android InsertHelper解决插入速度慢的问题
最近在项目中需要解决数据入库慢的问题,业务场景是:从服务器获取到数据后解析完成后,需要将数据入库,由于数据量比较大,并且在每次入库时需要判断当前库中是否存在此条数据,如果存在则不入库,否则入库。 其中一位开发人员将业务实现后,量小时勉强可以使用,当量大时,至少需要长达几分钟的时候。 经过分析后,发现在实现这个需求时发了过多的查询SQL(存在入库,不存在则不入库),同时没有使用SQLiteState原创 2016-01-28 19:02:02 · 1735 阅读 · 0 评论 -
Sqlite3 锁升级机制
SQL使用锁逐步提升机制,上面的表格从上到下,对应锁的等级逐步提升,等级越高权限就越大。未加锁:未和数据库建立连接、已建立连接但是还没访问数据库、已用BEGIN开始了一个事务但未开始读写数据库,处于这些情形时是未加锁状态。共享锁(又称:读锁)连接需要从数据库中读取数据时,需要申请获得一个共享锁,如果获得成功,则进入共享状态。预留:(预定一个锁,此时先写入缓冲区)连接需要写数原创 2016-05-26 21:15:36 · 1552 阅读 · 0 评论 -
Android事务 IMMEDIATE与EXCLUSIVE模式
Transaction是数据库保证数据唯一性和一致性的技术,对于数据库一个或一组写操作要保证是一个原子操作,要么写成功,要不成功就需要使用Transaction,android使用事务的常见形式如下:SQLiteDatabase db = null;... db.beginTransaction();try { db.setTransactionSuccessful();原创 2013-07-31 21:41:58 · 5904 阅读 · 0 评论