美文网首页
Sqlite的性能优化

Sqlite的性能优化

作者: 空空大师丶 | 来源:发表于2017-09-02 10:24 被阅读0次

比较安卓提供的API 执行insert,query,update,delete与execSql,rawQuery函数执行原生的插入,查询,更新,删除语句操作花费时间进行比较

数据量小的话,可能时间差不多,但是数量大到一定量的时候,会发现execsql 原生的SQL语句执行要更快.因为安卓提供的API 实际上会拼接成SQL语句在执行插入数据库.所有拼接的过程也需要时间.

大量数据插入时如何优化?

测试了下,直接通过for循环insert的话,插入较慢,分析了下Monitor 看见,不断对磁盘进行写入,而且是成高低谷形状.想了下,Web开发的时候可以通过事务插入.在安卓开发也可以.测了下

db.beginTransaction(); //手动设置开始事务

 try{

 //批量处理操作 

for(Collection c:colls){ insert(db, c); 

} db.setTransactionSuccessful(); //设置事务处理成功,不设置会自动回滚不提交。 

//在setTransactionSuccessful和endTransaction之间不进行任何数据库操作 

}catch(Exception e){ MyLog.printStackTraceString(e);

 }finally{

 db.endTransaction(); //处理完成

 }

发现就读写了一次文件,而且写入速度也比之前提升了不少.~~

相关文章

  • SQLite性能优化

    一> 如果优化SQLite的性能? (2种方式) Q> 如果我们一次性存储10000条数据, 那么该如何优化自己程...

  • Sqlite的性能优化

    比较安卓提供的API 执行insert,query,update,delete与execSql,rawQuery函...

  • iOS端sqlite3 的线程安全

    sqlite3 多线程和锁 ,优化插入速度及性能优化这篇博客,着重介绍了sqlite3 多线程和锁。这里针对iOS...

  • Android性能优化-sqlite优化

    一、事务 对于事务,就是数据库的一次原子性的执行操作。原子性的执行操作为数据的整体性执行带来的可靠安全性。在SQL...

  • Android数据库优化

    本文为性能优化的第一篇——数据库性能优化,原理适用于大部分数据库包括Sqlite、Mysql、Oracle、Sql...

  • sqlite性能优化之路-配置优化

    测试环境 初始数据 不做任何优化的场景下,sqlite性能达到 100 ~ 120 qps左右。这样的一个数值,在...

  • sqlite性能优化之路-死锁

    在之前的篇章中,我们介绍过sqlite的锁机制。从流程图上看来,似乎没什么太大的问题(事实上运行一段时间也没有出现...

  • sqlite性能优化之路-锁

    sqlite作为内嵌式数据库,具有轻量级的特点。实现了自给自足、无服务器、零配置、事务性的SQL数据库引擎。 因为...

  • iOS 平台 SQLite 性能优化

    开始 在 ios 平台,数据永久化的存储方式就那么几种,比如说 coredata,比如说realm,还有nosql...

  • SQLite3性能优化

    SQLite3性能调整主要通过pragma指令来实现。例如:空间释放、磁盘同步、Cache大小等。 一.空间释放1...

网友评论

      本文标题:Sqlite的性能优化

      本文链接:https://www.haomeiwen.com/subject/gyiljxtx.html