好久没用数据库,知识都忘了,之前用sqlite 逐行insert数据,发现这性能实在是太坑,10w条数据,插入大约花了100来分钟.

后来发现还有事务这么一个东西,可以大幅度降低对io的操作,测试插入40w数据,大约花了5分钟左右,比之前的逐条插入可是666

	WCHAR szBuffer[MAX_PATH] = { 0 };
WCHAR szBuffer2[1024] = { 0 };
for (int i = 0; i < 500000; i+=100)
{
wstring strSql;
strSql += L"begin;\n";
for (int index = 0; index < 100;++index)
{
swprintf_s(szBuffer, MAX_PATH, L"xxxxxxxxx.yyyyy.%d", i+index);
swprintf_s(szBuffer2, 1024, INSERT_FILEINFO_TABLE, szBuffer, TRUE, 0.0f, TRUE);
strSql += szBuffer2;
strSql += L";\n";
}
strSql += L"commit;";
fileinfo.Execute(strSql.c_str());
}

sqlite的事务的更多相关文章

  1. Sqlite之事务

    12.Sqlite事务介绍: 11.android SQLite 批量插入数据慢的解决方案 (针对于不同的android api 版本) ========== 12.Sqlite事务介绍: 应用程序初 ...

  2. sqlite的事务和锁,很透彻的讲解 【转】

    原文:sqlite的事务和锁 http://3y.uu456.com/bp-877d38906bec097sf46se240-1.html 事务 事务定义了一组SQL命令的边界,这组命令或者作为一个整 ...

  3. iOS sqlite 使用事务操作数据库

    业务层代码: //将解析的更新人员数据批量同步到数据库 +(void)operateCompUsers:(NSMutableArray*)operateCompUsers { sqliteHelper ...

  4. SQLite使用事务更新—by command

    public void SaveToDB(DataTable dt) { /* todo:sqlite没有提供批量插入的机制,需要通过事务处理 更新所有数据 * http://www.cnblogs. ...

  5. SQLite使用事务

    关键代码 SQLiteDatabase db = myDataHelper.getWritableDatabase(); // 开启事务 db.beginTransaction(); try{ db. ...

  6. Android入门(十二)SQLite事务、升级数据库

    原文链接:http://www.orlion.ga/610/ 一.事务 SQLite支持事务,看一下Android如何使用事务:比如 Book表中的数据都已经很老了,现在准备全部废弃掉替换成新数据,可 ...

  7. SQLite事务管理

    事务管理对数据库一致性是至关重要的.数据库实现ACID属性以确保一致性.SQLite依赖于本地文件锁和页日志来实现ACID属性.SQLite只支持扁平事务,并不支持事务嵌套和保存点能力. 1.1 事务 ...

  8. C# Sqlite事务

    在 C#中执行Sqlite数据库事务有两种方式:Sql代码和C#代码 1.Sql代码: BEGIN… COMMIT /ROLLBACK 2.C#代码: using (SQLiteConnection ...

  9. Qt中提高sqlite的读写速度(使用事务一次性写入100万条数据)

    SQLite数据库本质上来讲就是一个磁盘上的文件,所以一切的数据库操作其实都会转化为对文件的操作,而频繁的文件操作将会是一个很好时的过程,会极大地影响数据库存取的速度.例如:向数据库中插入100万条数 ...

随机推荐

  1. JS中,如何查询一个对象的所有属性

    var res = ""; for(var p in object) { res += p + ","; } alert(res);

  2. CSS阻止文本选择

    在日常运用中,经常遇到点击按钮/菜单的时候,选中了文本,为了避免这种情况,可以使用纯css来解决这个问题(IE10+),对于旧版本的就只能用js:onselectstart = 'return fal ...

  3. html Table实现表头固定

    最近一直在搞前台琐碎的东西,也学习了一下linux,没有时间对新的东西进行深入的研究和学习,没有写博客,不过归咎其原因还是在于自己的惰怠. 废话不多说,今天想将一个前台页面设计的一个小东西分享一下,那 ...

  4. ThinkPHP整合百度Ueditor

    文章来源:http://www.thinkphp.cn/code/267.html ThinkPHP整合百度Ueditor,基于黄永成老师的视频说明的申明:最好大家都能写绝对路径的都写好绝对路径比如: ...

  5. js 保留两位小数 多位小数(javascript)

    <SCRIPT LANGUAGE="JavaScript"><!--function formatFloat(src, pos){    return Math. ...

  6. python之6-2高阶函数

    1. map函数 map(函数A,字符串或者列表) map函数的意思是将函数A依次作用到字符串的每个字符或者列表的每个元素. 例如: map(lambda x: x*x,[1,2]) [1, 4] 这 ...

  7. mybatia的mypper.xml文件,参数类型为map,map里有一个键值对的值为数组,如何解析,例子可供参考,接上文,发现更简便的方法,不必传数组,只需传字符串用逗号隔开即可

    是这样的 先看参数 map.put("orgId", "1818"); map.put("childDeps", "1000,10 ...

  8. 一个poi操作实现导出功能的类

    public class ExportExcel<T> { public void exportExcel(Collection<T> dataset, OutputStrea ...

  9. 《VIM-Adventures攻略》前言

    本文已转至http://cn.abnerchou.me/2014/03/02/bfdaadb0/ 自从有了计算机,人们就想向其灌输自己的想法. 要想对其输入,自然离不开文本编辑器. 公告:<VI ...

  10. 十分钟让你的ASP.NET MVC网站变成PHP

    昨天从网上看来的,某个人发的方法: 第一:修改一下路由: 把RouteConfig中的: routes.MapRoute( name: "Default", url: " ...