将十几万条数据插入数据库中,怎么才能高效实现? [问题点数:50分,结帖人PLATINUM_II]

Bbs1
本版专家分:0
结帖率 100%
Bbs3
本版专家分:592
Bbs1
本版专家分:0
Bbs4
本版专家分:1232
Bbs1
本版专家分:0
Bbs5
本版专家分:4668
Bbs4
本版专家分:1232
Bbs4
本版专家分:1232
Bbs4
本版专家分:1232
Bbs1
本版专家分:0
Bbs1
本版专家分:0
Bbs1
本版专家分:0
Bbs1
本版专家分:0
Bbs1
本版专家分:0
Bbs1
本版专家分:74
版主
Blank
金牌 2018年10月 总版技术专家分月排行榜第一
2018年9月 总版技术专家分月排行榜第一
2018年8月 总版技术专家分月排行榜第一
Blank
银牌 2018年11月 总版技术专家分月排行榜第二
2018年7月 总版技术专家分月排行榜第二
Blank
红花 2018年10月 MS-SQL Server大版内专家分月排行榜第一
2018年9月 MS-SQL Server大版内专家分月排行榜第一
2018年8月 MS-SQL Server大版内专家分月排行榜第一
2018年7月 MS-SQL Server大版内专家分月排行榜第一
2018年6月 MS-SQL Server大版内专家分月排行榜第一
2018年3月 MS-SQL Server大版内专家分月排行榜第一
2018年2月 MS-SQL Server大版内专家分月排行榜第一
Blank
黄花 2018年11月 MS-SQL Server大版内专家分月排行榜第二
2018年5月 MS-SQL Server大版内专家分月排行榜第二
2018年4月 MS-SQL Server大版内专家分月排行榜第二
2018年1月 MS-SQL Server大版内专家分月排行榜第二
2017年12月 MS-SQL Server大版内专家分月排行榜第二
2017年11月 MS-SQL Server大版内专家分月排行榜第二
2017年10月 MS-SQL Server大版内专家分月排行榜第二
Bbs1
本版专家分:0
Bbs1
本版专家分:0
Bbs1
本版专家分:0
Bbs1
本版专家分:0
Bbs1
本版专家分:10
Bbs1
本版专家分:0
Bbs1
本版专家分:0
Bbs1
本版专家分:0
其他相关推荐
一次性要插入1000条数据怎么效率最高啊?
本来打算吧1000条SQL拼成一条一起执行的,貌似数据量多了有点问题.. 有啥其他办法吗? public static int ExecuteNonQuery2(string strSql) { us
MySQL无法插入数据,解决MySql只能添加1000条数据的小方法
取消勾选限制行        就这么简单
一次性往mysql中插入10万条数据,只需7秒
不解释,直接上代码$connect_mysql->autocommit(false); mysqli_query($connect_mysql,'set names utf8'); $begin = time(); $sqls =''; for($i=1;$i<=100000;$i++){ $sqls .= "('......
如何快速向数据库加入10万条数据
1、程序连接数据库,使用c3p0线程池; 2、程序使用线程池,多线程编程; 3、采用Fork/Join框架线程池(工作窃取(work-stealing)算法),更高效的多线程编程算法。 直接贴代码,代码举例中,近用小规模数据模拟大数据下的数据库批量插入操作。 1、数据库连接池 package com.example.jdbcConnection; import com.mchange...
php操作mysql迅速插入上百万数据
想要学习mysql存储,双机备份,主从架构的前提是必须要有大量的数据,大量数据插入数据表的速度很慢 超过百万级别的数据就需要几个小时。那么如何在几分钟内插入上百万数据呢? 原理:mysql插入数据插入时候并没有提交到mysql表里在insert后面需要执行commit操作才会插入数据库 默认mysql是自动提交,如果关闭自动提交,在insert几十万数据在进行commit那么会大
求助:用php一次更新10万条记录怎么办?
要从客户的老论坛里导数据过来,但他们以前的论坛表都只记了用户帐号,没有记ID.我现在是这样: 读出所有帖子 循环   从用户表读出对应的用户ID   更新此帖子里的用户ID字段   下个帖子 结束循环
数据库一对多设计表问题,一个用户对应多条数据怎么
比如两个表,一个用户表,一个图片表,图片表有一个用户id字段记录此条数据属于哪个用户,一个用户有 n 张图片。当我想选出某个用户的所有图片,可以用图片表的用户id字段来筛选,但是这样存在一个性能问题,
并发insert情况下会发生重复的数据插入问题
并发insert情况下会发生重复的数据插入问题 1.背景    用多线程接收推送的订单数据,把接收的订单数据存到一个表中,实现的需求是:如果接收的订单消息在数据库中已经存在,那么执行update操作;如果没有存在,那么执行insert操作  代码逻辑:     if(该订单在数据库表中存在){ update(); }else{ insert(); }
mysql 快速插入1000万条数据方法
不说上sql 上面有注释--创建MyISAM模式表方便批量跑数据 CREATE TABLE `logs1` ( `id` int(11) NOT NULL AUTO_INCREMENT, `logtype` varchar(255) DEFAULT NULL, `logurl` varchar(255) DEFAULT NULL, `logip` varchar(255) DEF...
向MySQL创建的表中插入1000条测试数据
create procedure aa()  begin      DECLARE i INT DEFAULT 1;      WHILE (i <= 1000) DO          INSERT INTO users (name) VALUES  ('张三');          SET i = i + 1;      END WHILE;  end; call aa(); 创建完了...
批量插入1000w条数据
1.创建部门表 CREATE TABLE dept ( id int UNSIGNED PRIMARY KEY AUTO_INCREMENT , deptno mediumint UNSIGNED NOT NULL DEFAULT 0 , dname varchar(20) NOT NULL DEFAULT ‘’ , Ioc varchar(13) NOT NULL DEFAULT ‘’ ...
向学生表中加入1000条数据
向学生表中加入1000条数据学号      姓名     性别            出生日期030y101001  student001   奇数为男      1980-1-1                               030y101999  sudent999  偶数为女       每次加一天 create table 学生表(学号 char(10) ,姓名
多线程实现一分钟插入1000万条数据
  首先我们需要建立一个线程类,继承Thread类,并实现run方法    1、获取数据库连接    2、编写插入的sql语句    3、关闭自动提交  conn.setAutoCommit(false);    4、编写for循环,跟着那个的插入方法一样。     5、将注入的信息,一条条添加到pst中。pst.addBatch();//批量添加信息    6、在for循环结束的地方...
oracle数据高效插入万条数据
向ACCOUNTING_VOUCHER 表中插入万条数据     思路:            1.新建一张和ACCOUNTING_VOUCHER数据库表结构一致的临时表,ACCOUNTING_VOUCHER_TEMP         2.向临时表ACCOUNTING_VOUCHER_TEMP中插入10条数据        3.使用insert select的方式做表复制   注意事项...
3分钟左右的时间如何向MySQL数据库中插入100万条数据
一、编写测试案例向MySQL数据库中插入万条数据。测试数据表建表脚本如下: use db_xk; drop table if exists tb_test2; create table tb_test2 (         id int primary key auto_increment,         subject varchar(50) not
4秒100万条数据导入SQL数据
实际工作中有时候需要把大量数据导入数据库,然后用于各种程序计算,本实验将使用5中方法完成这个过程,并详细记录各种方法所耗费的时间。   本实验中所用到工具为VS2008和SQL SERVER 2000、SQL SERVER 2008,分别使用5中方法将100万条数据导入SQL 2000与SQL 2008中,实验环境是DELL 2850双2.0GCPU,2G内存的服务器。感兴趣的朋友可以下载源代码
java读取大文本直接插入Mysql数据库,10万条数据4秒执行完
java读取大文本直接插入数据库: 需求如下:  需要解析的文本文件是从考勤机中导出的1_attlog.dat,dat文件,根据项目需要,我只要2列数据,如下图 第一列在数据库对应的字段为 column3,第二列在数据库对应的字段为column13,测试的sql语句如下: -- ---------------------------- -- Table struc
快速插入几千万条数据到mysql
CREATE TABLE `tb_big_data` ( `count` int(11) DEFAULT NULL, `create_time` datetime DEFAULT NULL, `random` double DEFAULT NULL, `str` varchar(100) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=ut...
数据——从数据库中批量读取数据
下面以mysql为例,用spring batch批量从mysql数据库表users表中读取数据。 uers表目前数据如下: 下面用spring batch批量读取该表,首先配置数据源 #配置step执行多少次commit一次 spring.batch.chunk.size=4 #数据源配置 spring.datasource.url=jdbc:mysql://localhost:33...
几十万条数据查询总数量很卡怎么解决
我的数据库有一张表中有大概6-7十万条数据,我想查询总数用select count(主键) from 表名 where 条件 但是每次执行到这条语句都很卡,甚至卡死,我应该怎么解决啊,有没有更好的解决
mysql数据库100万条数据插入采用jdbc的各种方式效率对比。
最近要插入100万左右的数据,还包括计算过程,为了压缩请求时间,特意试了下几种常见的jdbc方式的效率。package test.jbdc; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.SQLException; import org.junit.Test; /** * 大数...
mysql 10万条数据如何查重
mysql 5.5,10万多条数据,根据身份证号码查重(个别身份证可能是空的),用下面的语句是否有问题,老半天没有返回结果,还是有另外的方法?谢谢 SELECT user_id,user_name,u
求助,批量插入大量数据应该用什么方法
controller里面是这样的, def computeAllCommunityLiquidityScore(){ def db = new groovy.sql.Sql(dataSource) d
java中连续向Oracle数据插入1000条数据
public void exec(Connection conn){        try {         //开始时间        Long beginTime = System.currentTimeMillis();         //设置手动提交         conn.setAutoCommit(false);                 Statement st = co...
SQL 如何实现一条sql语句插入1000行数据
用SQL的可编程性,作为测试数据用是吧: declare @i int;--申明一个整形变量i set @i = 1;--设置初始值为1 while(@i while循环给定一个循环结束条件小于1000 begin         insert into tb_user values('user_no'+cast(@i as varchar),'user_name'+cast(@i as
4分钟插入1000万条数据到mysql数据库表
我用到的数据库为,mysql数据库5.7版本的 1.首先自己准备好数据库表 其实我在插入1000万条数据的时候遇到了一些问题,现在先来解决他们,一开始我插入100万条数据时候报错,控制台的信息如下: com.mysql.jdbc.PacketTooBigException: Packet for query is too large (4232009 > 4194304). Yo
如何利用jdbc快速插入万条数据
如何利用jdbc快速插入万条数据当须要向数据插入万条数据时,利用hibernate,mybatis等持久层框架时耗时较久,此时使用jdbc插入效率会更高。此种场景特别适用于读取文件导入到数据库。可以利用批处理来加快jdbc的插入效率。String sql = "insert into person(id,name) values(?,?)"; Connection c = Connection
如何插入10万条数据
  create or replace procedure is  begin  for  i  in 1..100000 loop execute  immediate 'insert into t(x)  values ('||i||')'; commit; endloop; end;   create or replace procedure is  begin  fo...
2秒内向数据库中插入万条数据
原文:http://www.cnblogs.com/shixudong/p/3627424.html
如何瞬间在数据插入一百万条记录
这两天发现了一个东西很好玩:如何在你的数据库中插入一百万条记录(要求三分钟之内)hoo~~hoo~~~1 首先 create table news     (          newsid int primary key auto_increment,        newstitle varchar(100),        newscontent varchar(200),        n
jdbc批量插入几百万数据怎么实现
网上搜到这样的一篇博客,我觉得讲的不错,分享给大家:今天在做一个将excel数据导入数据库的程序时,由于数据量大,准备采用jdbc的批量插入。于是用了preparedStatement.addBatch();当加入1w条数据时,再执行插入操作,preparedStatement.executeBatch()。我原以为这样会很快,结果插入65536条数据一共花30多分钟,完全出乎我的意料。于是问了一...
JAVA一次性读取Mysql几十万条数据的处理
前言 不用说也知道,一次性读取出那么大的数据是疯了吗,虚拟机能承受的聊那么大的对象吗?,所以我们需要分批进行读取。 下面是使用fenduan 每1万条进行一次读取执行 public void keyToVolumn() { log.info("开始进行转移"); Long count = couponTaoKeDataMapper.cou...
要从Java往数据库某个表中插入100万行数据,要求速度尽量快,方案和优化思路?
1.利用mybatis的foreach拼接动态aql或者在java中写循环拼接,将数据分组拼接成大sql,比如可以每1万行数据拼接为一个insert语句,只要连接1000次数据库即可。2.设置mybatis的sqlsession的ExecutorType为batch,如果用Jdbc则用executeBatch.3.去掉表中的非主键索引。4.取消该表自动提交。5.利用多线程异步执行,但每个线程需要加...
万条记录,怎样插入数据库最高效
我现在从log文件(txt文件可以查看)里面读取到dataTable,用的是一个嵌套的for循环将log数据一行一行放到dataTable中。 我现在想把这些log文件放到数据库中,那么我暂时想到的有
如何在数据库里面的一张表快速插入万条数据
下面为大家分享如何在数据库里面从一张表里面快速创建上万条数据,我使用的是Sql serve数据库,现在在数据库里面创建一个表。(随便建的) create table Info ( Id int primary key identity(1,1), Names  nvarchar(100), Num int ) 下面开始添加数据,用while循环方法。 declare  @i int set ...
php向mysql数据插入百万级数据的两种方法效率比较
php向mysql数据库中插入百万级数据的两种方法的效率的测试。
插入200万条数据(外部表加载的方式)
1 数据源    200w2 利用外部表的数据加载,导入数据    1) 用另外一个dba用户创建目录,并授权该目录给当前用户(如果用本用户创建,后面会报ORA-29400: 数据插件错误打开文件 d:\XX.log 时出错)           2)创建外部表        CREATE TABLE "EXTERNAL_TABLE_TEST" ( ID VARCHAR(40), NAME V...
SQL 快速向表中插入100万条数据
SET NOCOUNT ON; 02 USE master; 03 GO  04 ----判断数据库TestDB是否存在,即创建数据库 05 IF db_id('TestDB') IS NULL 06
高效批量插入大量数据----JDBC-4
平安夜,只要像我这样的单身狗还在键盘前码字,其他人都去浪的浪啪啪啪的啪啪啪唉~苦逼 不说了,开始我的正题。今天要说的是如何高效插入大量数据,会对三种方法进行速度比较。 代码如下: 注意:为获得较为直观的感受,一下所有操作都是针对oracle数据库进行操作! 示例一:使用Statement进行插入(速度最慢的一种) /** * 向 Oracle 的 c
【批量生成10万条sql数据数据+IO流的使用】生成简单sql插入语句大量数据,以及输出流生成文件2017年
第一步,建立一个java类,并且运行,在windows环境下 package com.test; import java.io.File; import java.io.FileOutputStream; import java.io.OutputStream; public class GenerateSQLFile { public static void main(String[]
绝对干货,教你4分钟插入1000万条数据到mysql数据库表
我用到的数据库为,mysql数据库5.7版本的 1.首先自己准备好数据库表 其实我在插入1000万条数据的时候遇到了一些问题,现在先来解决他们,一开始我插入100万条数据时候报错,控制台的信息如下: com.mysql.jdbc.PacketTooBigException: Packet for query is too large (4232009 > 4194304). Yo
万条数据插入和去重
建立一个和主表一样的副表。然后每次用sqlbulkcopy将数据写入副表。然后在数据库中,利用sql来查询来取出有效数据插入到主表即可
AAA如何插入几十万条数据 PL/SQL 调试存储过程简单实例
oracle用户数据库中,procedures就是存储过程,这是创建脚本最简单的例子 create or replace procedure MyDemo(dateLine in varchar2) IS --类型定义 cursor cc is select * from tuser t; --定义一个游标变量 ccrec cc
向Mysql数据插入万条记录(批处理)
当向数据库中添加大量的数据时,这是需要用到批处理。不用批处理时,插入的效率特别的慢。这里用到了批处理和预编译sql两个联合,这样的效率会更高 package com.an.jdbc.exer; import java.sql.Connection; import java.sql.PreparedStatement; import org.junit.Test; import com
50万条数据保存到数据
load data infile 'D:/yaoding/gitDataSource/ceeasPython/sqlFiles/insertCollegeCutoff.txt' ignore into table college_cutoff fields terminated by ',' enclosed by '"' lines terminated by '\r\n' (`COLLEGEI
高效率导出到Excel——60万个数据9秒导出
Excel的ADO方法导出,60万个数据9秒导出。直接用SQL语句在Excel文件中追加需要导出的数据记录,代码简单明了,操作方便,效率较高(可能是仅次于文件流导出的方式)。
1000万条数据导入mysql
今天需要将一个含有1000万条数据的文本内容插入数据库表中,最初自然想到的是使用Insertinto '表名'values(),(),()...这种插入方式,但是发现这种方式对1000万条数据量的情况,明显效率低下,于是选用了直接将文本内容导入数据表的方法: LOADDATA LOCAL INFILE '/home/xyw/result.txt' INTO TABLEdomainlib_t
数据库存储过程批量生成十万条数据
批量插入万条数据,自定义函数,动态生成数据,伪造真实数据
如何将几十万的数据高效的导出到excel中
思路: 一、同步导出1、分页查询数据 2、将数据通过poi SXSSFWorkbook类写入excel,并可持久化到磁盘,防止内存溢出3、多线程 TODO4、导出时,通知用户,导出到哪一行了 TODO      a、可通过websocket通知      b、算法: (当前值/总大小值) *(100/100)      c、下载文件设置显示进度:https://blog.csdn.net/myna...
java 依次单条数据 写入数据库 500万条
不多说废话,数据库采用SQLServer 2008 数据库名TestDB  字段 P17173_Name nvarchar(50) P17173_MD5Key nvarchar(50) P17173_SecurityEmail nvarchar(100) P17173_ICPassCard nvarchar(50) 从一个超级大的txt中读取数据写入到DB中。秒懂
C#一次性向数据插入万条数据的方法
一次性插入万条数据的写法 1. [csharp] view plaincopy ///        /// DataTable批量添加(有事务)       ///  /      // 数据源       /// 定义数据源和目标源列的关系集合       /// 目标表       public static boo
数据、小数据、无数据:网络世界的数据学术
数据管理丛书
数据库中插入10万条测试数据
<?php $pdo = new PDO('mysql:host=localhost;dbname=你的数据库名','root','root'); $a = "0000"; for ($k=0; $k <= 9; $k++) {  $arr = array(); for ($i=$k.$a+1; $i <= ($k+1).$a; $i++) {  array_push(...
SSM框架中集成批量导入Mysql数据库功能
如果导入的数据万条以上,项目中生成的导入功能数据万条以上会变得非常慢,然后优化了一下,经测试,几万的数据在10秒内成功导入。感觉还是有需要优化的地方,时间精力有限,有优化的希望多交流交流。上代码: package com.jh5bframework.test.testdemo; /** * 批量导入功能优化(万条以上) */ import java.util.ArrayList;
如何2秒批量插入10万数据数据表中
注:此例子是基于我们开发平台的基础上进行java 上的实现。 ---------------
快速插入2000万数据
前提设置表主键为自动递增 #默认主键为1 :alter table user modify id integer default '1'; #默认主键:alter table user modify id integer auto_increment ; #时间主键:alter table user add createtime timestamp default curre
php+mysql中迅速插入万条测试数据的方法(12s)
1.php代码 ; fwrite
4秒100万条数据导入SQL数据库-NET(C#)demo
4秒100万条数据导入SQL数据库-NET(C#)demo 试验的5种方法,比较各种方法的导入速度 基本Insert Into 单线程Bulk Insert 多线程Bulk Insert 单线程SqlBulkCopy 多线程SqlBulkCopy
亿级别---数据生成及高效率导入
做这件事情之前,首先 对于mysql,首先需要改改mysql的默认存储路径,以免因为硬盘分区或者挂载容量的问题,导致数据插入不成功。 对于mongodb,只需要改一下启动时命令行的存储路径。
我是怎么把4000万条数据从oracle导入到mysql中的
     由于公司想换用广告投放系统,要测试下新系统的性能,可是公司以前的系统采用的是oracle,新的系统是mysql,表结构也不太相同。首先在本地oracle中新建了一个用户,新建了一套和那个mysql上一样结构的数据表,然后组织数据把旧数据插入到新表中。接下来就是把本地oracle上的数据,导到mysql上去。     导出成sql脚本,好几G的脚本,而且两个数据库不再一个网段上,执行起来一很慢。导成文件数据库又不一致。在没有想到好的导出导入办法的情况下,选择了采用程序实现,下面是我的全部代码:pub
java分批量插入数据数据量太大)
    1、需求:数据量过大,并且要经常进行插入操作:        分批插入,每次插入600条数据!public void insertList(List<Student> list) { int insertLength = list.size(); int i = 0; while (insertLength > 600) { dao...
web级mysql颠覆性学习笔记--在Mysql中灌入100万条数据
平时学习以及做实际项目的时候,很少会关心数据量大不大,使用什么引擎对性能影响大不大,这无疑是在过河摸石头一样,一旦到深的地方,就陷进去,无法起身了,为了能够在过河的时候,摸到大而平的石头,以下是大数据尝试过程。 环境:操作系统:centos6.5 mysql5.7 软件:navicat centos yum 安装mysql教程:https://dev.mysql.com/doc/mysql-
记录一个mysql大量数据快速插入的方法
经过数月的历练与开发,终于在这个月手上负责的一个项目即将交付了,看着这一两个月让我偶感压力的繁杂的事情一件件处理完毕,原本动荡的心静也渐渐平静了些许。此时再回过头过去看那些困扰我N多个日夜的某些问题其实也不过如此。有些事情自己无法改变,只能乐观地坦然地面对。面对充满未知的未来努力让自己保持每一天都快乐才是王道,哈哈!在本周将一个需要处理上千万数据量的项目部署到UAT环境后,发现数据插入到mysql...
面试题:大批量数据高效插入数据库表
原文:http://yakyang.com/?p=592 题目:将一批10万数据通过系统(Java语言)导入数据库表,并要求实时看到导入的进度,请设计出系统方案,重点要考虑导入效率! 这个题场景很简单! 题中提到了两个重要需求: 1、实时看到导入的进度; 2、导入效率。 第一个需求可以简单理解就是能够看到导入过程。进度就是一个大概情况,并不是一个要求非常精准的数,但是如果做
如何向数据库集群快速导入千万条数据
一、数据导入的方式 向MySQL数据库导入数据,通常有两种办法,第一种是利用SOURCE命令,第二种是使用LOAD DATA命令。 SOURCE命令是通过执行SQL文件中的INSERT语句来实现数据的导入。正常情况下,如果我们向单节点的MySQL,用INSERT语句批量写入数据,在普通的PC机上,写入10万条数据,大概需要7~8分钟时间。按照这个速度推算,写入1千万条数据大概需要10个小时以上...
mysql用时3s插入10万条数据
目标效果 实现数据库中添加如下数据,inside_code的范围为(00001-99999) 代码 package cn.edu.nwsuaf.cie.sheep.utils; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import jav...
教你88秒插入1000万条数据到mysql数据库表
我用到的数据库为,mysql数据库5.7版本的首先自己准备好数据库表其实我在插入1000万条数据的时候遇到了一些问题,现在先来解决他们,一开始我插入100万条数据时候报错...
我们是很有底线的