通过存储过程,插入300万条数据的一点思考?

1.今天凌晨1点多开始插入数据,到现在为止,一共插入的数据大小,大约是30M数据,但是总量在190M数据左右

2.中间我去睡觉,电脑可能也是处于睡眠状态.

3.电脑的性能也很大程度决定了这个处理数据的速度(比如,位宽,是否支持超频等等吧.)

4.灵活处理问题吧,300万条数据太多,可以选择3万条数据处理,计时处理,我们可以选择3000条数据处理,做实验就是要一个模拟环境

5.千万不要死板教条,

6.及时回顾之前的知识点,核心知识点,经常性回顾.(一定会有新收获的)

7.注意身体,身体是革命的本钱

8.可以理由电脑好的同学已经计算插入好的数据进行计算

原文地址:https://www.cnblogs.com/studybrother/p/10295205.html

时间: 2024-10-08 13:33:18

通过存储过程,插入300万条数据的一点思考?的相关文章

java 批量插入10万条数据

for (int i = 0; i < 100000; i++) { dbHelper.insert("INSERT aaa(name) Values ('1')"); } 运行时间==780450ms conn = getConn(); // JAVA默认为TRUE,我们自己处理需要设置为FALSE,并且修改为手动提交,才可以调用rollback()函数 conn.setAutoCommit(false); st = conn.createStatement(); long s

批量插入100万条数据

创建数据库: --Create DataBase create database BulkTestDB; go use BulkTestDB; go --Create Table Create table BulkTestTable( Id int primary key, UserName nvarchar(32), Pwd varchar(16)) go --Create Table Valued CREATE TYPE BulkUdt AS TABLE (Id int, UserName

Java 线程池 +生产者消费者+MySQL读取300 万条数据

1.1需求 数据库300 万条用户数据 ,遍历获取所有用户, 各种组合关联, 获取到一个新的json ,存到redis 上. 1.2 难点 数据库比较多, 不可能单线程查询所有的数据到内存. 1.3解决办法 多线程读取, 生产者 每次获取200 条数据, 消费者去消费.(这里 主要是根据MySQL分页去获取下一个200 条数据) 1.4 代码 1.4.1 调用方法 /** * 线程启动 */ public void update() { //redis操作类 HashRedisUtil redi

数据库 一次插入几万条数据

最近做了一个功能, 操作的数据量特别大, 一次 往数据库  插入上万条数据.我用了 循环添加, 和EF封装的添加功能. 两次方式速度都非常慢,一万条数据都要近一分钟的时间. 在网上 查找资料后, 可以创建一个Datatable对象,然后把数据都赋值给这个Datatable对象的列. 然后Copy到数据库就行了. 下面这段代码是:实例化一个Datatable,  然后确定所有的列.列名最好于表里的字段一样哦 然后循环你的 大数据,每次循环都创建一列,添加到Datatable. Datatable

Oracle 快速插入1000万条数据的实现方式

1.使用dual配合connect by level create table BigTable as select rownum as id from dual connect by level <= 100000; 但是有connect by level有上限,如果超出上限,系统会报,"connect by level"内存不足,我试过1000000万数据可以,但是再多就不行了. 2. 使用xmltable,"CONNECT BY 操作内存不足,10g开始支持XML

oracle循环插入1万条数据

declare maxnumber constant number:=10000; i number :=1; begin for i in 1..maxnumber loop insert into DEPT(DEPTID,DEPTNAME,FATHERID) values(i,CONCAT('test',i),i-1); --CONCAT('test',i)是将test与i进行拼接 end loop; dbms_output.put_line(' 成功录入数据! '); commit; en

JDBC_批处理Batch_插入2万条数据的测试

批处理   Batch 对于大量的批处理,建议使用Statement,因为PreparedStatement的预编译空间有限,当数据特别大时,会发生异常. import java.sql.Connection; import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement; /** * 测试批处理的基本用法 * * @author Adm

顺序插入50万条数据

DECLARE @Start INT = 1;              --开始 DECLARE @Digits INT = 6;             --后几位 DECLARE @prefix VARCHAR(50) = '0990';--前缀 DECLARE @end INT=500000;             --结束 SET @Start = 1 WHILE @Start < @end BEGIN INSERT  INTO Test ( TId ) VALUES  ( @pre

给你100万条数据的一张表,你将如何查询优化?

1.两种查询引擎查询速度(myIsam 引擎 ) InnoDB 中不保存表的具体行数,也就是说,执行select count(*) from table时,InnoDB要扫描一遍整个表来计算有多少行. MyISAM只要简单的读出保存好的行数即可. 注意的是,当count(*)语句包含 where条件时,两种表的操作有些不同,InnoDB类型的表用count(*)或者count(主键),加上where col 条件.其中col列是表的主键之外的其他具有唯一约束索引的列.这样查询时速度会很快.就是可