当前位置: 首页 > news >正文

Android基础:SQLites数据库事物处理的优越性

一直知道数据库的事物处理,但是自己始终在写数据库操作时,总是默认的回避了这件事,想想还是要自己做个测试来让自己警醒,记住数据库事物是非常必要地。

测试结果是:单单一千条数据,在对sqlite数据库进行操作时,使用事物和不适用事物前后相差78倍之多,不难想象大数据增加时如果没有事物处理的意识,对软件性能来说只能是灾难性的。

setContentView(R.layout.main);
         helper = new  MyOpenDbHelper( this );
         button = (Button) findViewById(R.id.bt);
         button.setOnClickListener( new  OnClickListener() {
             
             @Override
             public  void  onClick(View v) {
                 // 未使用同一个事物处理:57013ms
                 // 使用同一个事物处理:730ms, 仅仅一千条数据,却前后相差78倍之多,可见事物的重要性
                 // 对表数据进行增加、删除、更新的时候最好时候事物处理,
                 SQLiteDatabase writableDatabase = helper.getWritableDatabase();
                 time = System.currentTimeMillis();
                 writableDatabase.beginTransaction();
                 for  ( int  i= 0 ; i< 1000 ; i++) {
                     String sql = "insert into myTab values (" + i + ","  + i + "," + "'tom'"  + ")" ;
                     System.out.println(sql);
                     writableDatabase.execSQL(sql);
                 }
                 writableDatabase.setTransactionSuccessful();
                 writableDatabase.endTransaction();
                 System.out.println(System.currentTimeMillis() - time);
             }
         });

 本文转自demoblog博客园博客,原文链接http://www.cnblogs.com/0616--ataozhijia/archive/2012/11/06/2757978.html如需转载请自行联系原作者


demoblog

相关文章:

  • DB2 9 利用斥地(733 测验)认证指南,第 9 部分: 用户定义的例程(2)
  • JS区别IE6、IE7、IE8之间的方法
  • 基础算法10:过滤器(Filter)对指定路径不进行过滤
  • Asp.net用户多次登录问题
  • 如何应对被地下的Oracle口令加密算法(1)
  • Haproxy+Keepalived+Jboss集群实施架构一例
  • Solaris10下载、安设和设置装备摆设(2)
  • 深入浅出多线程系列之六:事件驱动异步模式(EAP,WebClient,BackgroundWorker)
  • 小本领: 一条下令装配 Firefox 3 Beta 3
  • 因子得分
  • 红旗桌面版本最新使用要领和标题解答100例-1
  • nginx 1.8.1安装使用
  • 利用Travis CI 让你的github项目持续构建(Node.js为例)
  • XP组件下看不到IIS
  • 一个绿色版的正则表达式测试工具
  • 《深入 React 技术栈》
  • django开发-定时任务的使用
  • JavaScript 基本功--面试宝典
  • leetcode46 Permutation 排列组合
  • Spark学习笔记之相关记录
  • Webpack入门之遇到的那些坑,系列示例Demo
  • 动态规划入门(以爬楼梯为例)
  • 构建工具 - 收藏集 - 掘金
  • 基于Volley网络库实现加载多种网络图片(包括GIF动态图片、圆形图片、普通图片)...
  • 聊聊spring cloud的LoadBalancerAutoConfiguration
  • 前端
  • 浅谈web中前端模板引擎的使用
  • 使用parted解决大于2T的磁盘分区
  • 使用前端开发工具包WijmoJS - 创建自定义DropDownTree控件(包含源代码)
  • 微信支付JSAPI,实测!终极方案
  • 优化 Vue 项目编译文件大小
  • shell使用lftp连接ftp和sftp,并可以指定私钥
  • ​ 轻量应用服务器:亚马逊云科技打造全球领先的云计算解决方案
  • # centos7下FFmpeg环境部署记录
  • #DBA杂记1
  • (附源码)ssm考生评分系统 毕业设计 071114
  • (四)图像的%2线性拉伸
  • (正则)提取页面里的img标签
  • (转)Android中使用ormlite实现持久化(一)--HelloOrmLite
  • .NET Entity FrameWork 总结 ,在项目中用处个人感觉不大。适合初级用用,不涉及到与数据库通信。
  • .NET开源全面方便的第三方登录组件集合 - MrHuo.OAuth
  • .NET设计模式(2):单件模式(Singleton Pattern)
  • .NET应用架构设计:原则、模式与实践 目录预览
  • /var/log/cvslog 太大
  • ;号自动换行
  • @PreAuthorize注解
  • [bzoj1324]Exca王者之剑_最小割
  • [BZOJ4554][TJOI2016HEOI2016]游戏(匈牙利)
  • [C#]扩展方法
  • [C++]运行时,如何确保一个对象是只读的
  • [DEBUG] spring boot-如何处理链接中的空格等特殊字符
  • [go] 迭代器模式
  • [hdu 4405] Aeroplane chess [概率DP 期望]
  • [IE编程] 打开/关闭IE8的光标浏览模式(Caret Browsing)
  • [iHooya]2023年1月30日作业解析