Android Sqlite 批量插入性能优化

db.beginTransaction();
try {
    for (...) {
        db.execSQL("...", new Object[]{});
    }
    db.setTransactionSuccessful();
} catch (Exception e) {

} finally {
    db.endTransaction();
}

  

原文地址:https://www.cnblogs.com/nodegis/p/10579925.html

时间: 2024-10-11 11:18:41

Android Sqlite 批量插入性能优化的相关文章

android SQLite 批量插入数据慢的解决方案 (正对于不同的android api 版本)

SQLite,是一款轻型的数据库,被广泛的运用到很多嵌入式的产品中,因为占用的资源非常少,二其中的操作方式几乎和我们接触的数据库不多,甚至只有几百K的他自然会被需求者青睐,下面讲一下在这样的轻型数据库中怎么对他进行一些读写操作. 之前做选择联系人的时候出现如果一个手机里联系人超过2000的话,往数据库里面插入会非常耗时,不同的手机存储的条数不同,这个存储的数量和手机的内存有很大的关系,往往取决于手机内存,下面对于数据量大的情况来写一下sqlite的批量查询. SqLite 掺入数据有几种 第一种

android SQLite 批量插入数据慢的解决方案 (针对于不同的android api 版本)

原地址 :http://www.cnblogs.com/wangmars/p/3914090.html SQLite,是一款轻型的数据库,被广泛的运用到很多嵌入式的产品中,因为占用的资源非常少,二其中的操作方式几乎和我们接触的数据库不多,甚至只有几百K的他自然会被需求者青睐,下面讲一下在这样的轻型数据库中怎么对他进行一些读写操作. 之前做选择联系人的时候出现如果一个手机里联系人超过2000的话,往数据库里面插入会非常耗时,不同的手机存储的条数不同,这个存储的数量和手机的内存有很大的关系,往往取决

android sqlite批量插入数据速度解决方案

转自 http://hi.baidu.com/hfutonline/blog/item/62b1e4de8bdf4b2e5882dd28.html 最近在做android项目的时候遇到一个问题,应用程序初始化时需要批量的向sqlite中插入大量数,导致应用启动过慢. android使用的是sqlite数据库,sqlite是比较轻量级的数据库,在Google了之后发现,sqlite事务处理的问题,在sqlite插入数据的时候默认一条语句就是一个事务,有多少条数据就有多少次磁盘操作.我的应用初始50

android sqlite批量插入数据速度慢解决方案

android使用的是sqlite数据库,sqlite是比较轻量级的数据库,sqlite默认在插入数据的时候默认一条语句就是一个事务,有多少条数据就有多少次磁盘操作.一次插入10000条记录也就是要10000次读写磁盘操作,导致速度慢. 解决方法: 添加事务处理,把5000条插入作为一个事务 dataBase.beginTransaction();        //手动设置开始事务 //数据插入操作循环 dataBase.setTransactionSuccessful();        /

MYSQL开发性能研究——批量插入的优化措施

一.我们遇到了什么问题 在标准SQL里面,我们通常会写下如下的SQL insert语句. INSERT INTO TBL_TEST (id) VALUES(1);   很显然,在MYSQL中,这样的方式也是可行的.但是当我们需要批量插入数据的时候,这样的语句却会出现性能问题.例如说,如果有需要插入100000条数据,那么就需要有100000条insert语句,每一句都需要提交到关系引擎那里去解析,优化,然后才能够到达存储引擎做真的插入工作. 正是由于性能的瓶颈问题,MYSQL官方文档也就提到了使

Android进阶:ListView性能优化异步加载图片 使滑动效果流畅

ListView 是一种可以显示一系列项目并能进行滚动显示的 View,每一行的Item可能包含复杂的结构,可能会从网络上获取icon等的一些图标信息,就现在的网络速度要想保持ListView运行的很好滚动流畅是做不到的 所以这里就需要把这些信息利用多线程实现异步加载 实现这样功能的类 [java] view plaincopy public class AsyncImageLoader { private HashMap<String, SoftReference<Drawable>&

MySQL插入性能优化(转)

原文:http://tech.uc.cn/?p=634 对于一些数据量较大的系统,数据库面临的问题除了查询效率低下,还有就是数据入库时间长.特别像报表系统,每天花费在数据导入上的时间可能会长达几个小时或十几个小时之久.因此,优化数据库插入性能是很有意义的. 经过对MySQL innodb的一些性能测试,发现一些可以提高insert效率的方法,供大家参考参考. 1. 一条SQL语句插入多条数据. 常用的插入语句如: INSERT INTO `insert_table` (`datetime`, `

JDBC批量插入性能简单分析

批量插入性能分析:仅仅针对性能 1.使用Statement对象,一次一个,循环插入 2.使用PreparedStatement对象,一次一个,循环插入 3.使用PreparedStatement对象,使用addBatch(),executeBatch(),clearBatch()实现批量插入 注意事项: 1)数据库的驱动需要是5.1.37之后的版本,否则不支持批量操作 2)mysql数据库默认不开启批量操作,需要在数据库的url后面加上:?rewriteBatchedStatements=tru

MySQL批量SQL插入性能优化

对于一些数据量较大的系统,数据库面临的问题除了查询效率低下,还有就是数据入库时间长.特别像报表系统,每天花费在数据导入上的时间可能会长达几个小时或十几个小时之久.因此,优化数据库插入性能是很有意义的.经过对MySQL innodb的一些性能测试,发现一些可以提高insert效率的方法,供大家参考参考. 1. 一条SQL语句插入多条数据.常用的插入语句如: INSERT INTO `insert_table` (`datetime`, `uid`, `content`, `type`) VALUE