关于数据插入效率问题

问题描述

我目前是用C#拼接sql语句,执行一次,如果出错写一次错误日志,由于数据量较大,经常要7个多小时,有人说把每个sql语句写到一个*.sql的文件里,执行会快,可是我操作的是mysql数据库,如果出现错误,就不会继续往下执行了,而且哪条数据出错的错误日志也不能打印出来了,谁能帮我解决下,或给点提示,最好附带使用哪个方法去执行

解决方案

解决方案二:
存储过程?每个sql单独写个存储过程然后在C#中记录日志
解决方案三:
开启事务,比如有100条sql语句,执行完全部的才提交事务,如果执行(插入或删除)到99条出错就回滚事务,这样操作就会自动撤销。

时间: 2024-07-28 14:52:27

关于数据插入效率问题的相关文章

shard-mongodb 分片集群,大批量数据插入效率问题

问题描述 mongodb 分片集群,大批量数据插入效率问题 mongodb 分片集群,大批量数据插入效率问题: 1个config.1个mongos.2个mongod shard,现有2台同配置的机器 (1)当2个shard在同一台机器时候,无论哪一台,插入效率在1w每秒左右: 当数据量达到1.5亿左右的时候,会出现flushing nmaps took xxxx秒 to xxx files 的日志信息,过几十秒就来一次,很卡. (2)当shard分布在2台机器时候,插入效率只有1500-2000

C++操作MySQL大量数据插入效率低下的解决方法_C 语言

通常来说C++操作MySQL的时候,往Mysql中插入10000条简单数据,速度非常缓慢,居然要5分钟左右, 而打开事务的话,一秒不到就搞定了! 具体实现代码如下: #include <iostream> #include <winsock2.h> #include <string> #include "mysql.h" #pragma comment(lib, "libmysql.lib"); using namespace s

mysql 插入10万条数据 优化效率

问题描述 mysql 插入10万条数据 优化效率 public int addTypes(List<taobaoBean> babyList) { String sql = "insert into type (typeid,url) values (?,?) "; Connection conn = dbhelper.getConnection(driver,url,username,upwd); int result = 0; PreparedStatement stm

Android利用SQLiteStatement提高数据库插入数据的效率

MainActivity如下: package cc.testdb; import cc.database.DBUtils; import cc.domain.Person; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.view.Window; import android.view.WindowManager; impor

如何提高MySQL数据分页效率

  本节的数据编辑插教程给我们简单介绍如何提高MySQL数据分页效率,下面我们将会给出的这段代码是大数据量时提高分页的效率的测试代码. 如果你也需要设置MySQL数据提高分页效率,那么,就一起来看看代码段吧! --提高分页效率:实现分页时只读取显示数据,需要先在数据库创建数据库"TestForPaging" use TestForPaging go --创建表SomeData create table SomeData ( id int primary key, name varcha

多线程-怎么提高哈希表插入效率?

问题描述 怎么提高哈希表插入效率? key 值和 value 都是长整形,key 值可以重复 ,即一个 key值可以有多个 value 值, 各位大牛有没有什么好的想法觉得可以加快插入速度,比如多线程? 解决方案 要提高效率,首先需要做两件事情,一个是算法优化,分析你的算法复杂度,是不是有更优化的算法存在. 比如hash表插入,最理想的算法也必须是logN,当然如果你超过这个,有优化的可能,如果已经是logN就不要折腾了. 然后是代码优化,你首先要分析你的算法的理论最优运行时间,比如说,你插入h

并发大数据处理-多线程大数量map的插入效率问题

问题描述 多线程大数量map的插入效率问题 在做项目的时候碰到一个棘手的问题,希望高手能帮忙解决一下: 在处理大数据量的时候大概每秒1000个数据量,我开了两个线程:一个线程用于处理接收数据,另一个用于处理数据:接收数据有一个map类型,包在一个vector里大致结构如下 vector recv; Struct StaticInfo { mapkey_value; } 处理数据单元:需要将所有接收数据Key,value计算总和,并保存在一个容器里map测试结果发现cpu占用高达100%以上!请问

asp.net-databel中的数据插入到数据库

问题描述 databel中的数据插入到数据库 excel中的数据是每天累加的,但是每次都要全部导入数据库,所以数据库中的数据会有大量的重复,浪费资源,求一个办法,可以去除重复,并且速度要快一点;目前我采用的方法是,每词都去数据库中判断,如果存在的话就更新,不存在的话就插入,速度非常慢,不到1w条数据,都要用奖金两分钟,求各位大神们给一个更好的办法 解决方案 你每次都要去访问这样会浪费大量的资源,你可以先将excel中的关键列获取出来,放到内存中,在内存中进行判断,这样会提高点效率. 解决方案二:

sql排序分页 如果有新数据插入

问题描述 sql排序分页 如果有新数据插入 sql排序分页 如果有新数据插入并且排序在前面,那取第二页的时候就会有重复数据,而且新插入的数据展示不出来了,怎么解决呢? 各位可能没理解我意思: 比如说现在数据库里面几千万数据,还是实时插入的数据,我想排序后分页取,比如说第一次通过代码给数据库传参取第一页,取100条, 1.这个过程数据库是把所有数据几千万条全部load到内存中排序,然后进行分页,然后取出前100条吗? 2.那第二次,还会再load所有数据一次重新排一次序,再取出101-200之间的