最近在做android项目的时候遇到一个问题,应用程序初始化时需要批量的向sqlite中插入大量数,导致应用启动过慢。
android使用的是sqlite数据库,sqlite是比较轻量级的数据库,在Google了之后发现,sqlite事务处理的问题,在sqlite插入数据的时候默认一条语句就是一个事务,有多少条数据就有多少次磁盘操作。我的应用初始5000条记录也就是要5000次读写磁盘操作。
解决方法:
添加事务处理,把5000条插入作为一个事务
dataBase.beginTransaction();//手动设置开始事务
//数据插入操作循环
dataBase.setTransactionSuccessful();//设置事务处理成功,不设置会自动回滚不提交
dataBase.endTransaction();//处理完成
转自:http://geyubin.iteye.com/blog/1272505
分享到:
相关推荐
NULL 博文链接:https://21jhf.iteye.com/blog/1915273
Node.js结合sqlite3模块实现Sqlite数据库建表并实现大数据量的快速插入
下载来的资源,自己改了一下,共享出来,供小白使用,本想免费的,无奈最少是2分,再次吐槽一下csdn的下载规则变更,越来越商业化了。
网上收集的sqlite避免重复插入数据。
Android中在sqlite插入数据的时候默认一条语句就是一个事务,因此如果存在上万条数据插入的话,那就需要执行上万次插入操作,操作速度可想而知。因此在Android中插入数据时,使用批量插入的方式可以大大提高插入速度...
android中SQLite数据库中用insert同时插入多条记录的方法和效率比较
这个代码创建了两个数据库,分别使用一个一个插入的方法和批量插入的方法,并且打印出时间,查看不同方法不同插入条数所使用的时间。
今天在向Sqlite数据库里插入数据的时候,报了这样一个错: 代码如下: “too many terms in compound SELECT” 去Stackoverflow上查了一下,发现有人回答这个问题:链接 原来一次性向数据库里插入数据的条数不能太...
Android中在sqlite插入数据的时候默认一条语句是一个事务,因此如果...批量插入数据也有很多方法,那么那种方法更快呢,下面通过一个demo比较一下各个方法的插入速度。 1、使用db.execSQL(sql) 这里是把要插入
Android的SQLite中DateTime类型数据的存取问题
一个简单的Android SQLite ORM框架不想花资源分的同学可以上我的github主页下载:https://github.com/chenyihan/Simple-SQLite-ORM-Android,因为要传到github,所以代码中的注释和doc文档都是英文的,对自己英文不...
C# sqlite 批量更新及性能测试
在Android studio上实现了sqlite的数据的新建、查询、添加、删除等功能。
需要在sqlite数据库中插入大量测试数据,打算用事务进行循环插入操作,不过sqlite不支持declare变量定义,所以无法通过定义循环变量值来实现。需要通过一个批处理文件来循环调用插入sqlite语句,方式如下 建立一个...
一个android读取sqlite数据库的数据并用listview显示demo,如有问题及时提醒。
主要介绍了C#/.Net 中快速批量给SQLite数据库插入测试数据,本文直接给出实例代码,需要的朋友可以参考下
065集-Android中SQLite编程-数据的插入视频教程,个人感觉还可以,共享给大家。
Android 数据库SQLite 详解,简单学好SQLite
android sqlite可视化工具,可以导入新建数据这个数据库里