首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

MySQL快速导入千万条数据(3)

一、测试环境■ CPU是24核,核2线程,即48CPU$ lscpuArchitecture: x86_64CPU op-mode(s): 32-bit, 64-bitByte...test.sh测试结果如下:耗时57分钟Start ...(20220227-12:22:12)Completed.(20220227-13:19:04)可见这个命令行导入方式,即使在实际的高性能生产环境,几千万条数据的导入...首先,修改原SQL文件格式LOADDATA可用的csv文本格式:sed -i "s/INSERT INTO \`tablename\` VALUES (//g" mysql.sqlsed -i "s/...121589425857.3000''40601439', 'CF_0105', '113776588.1400', '56815', null, '113776588.1400'然后,执行导入,如下所示:导入3000万条数据...: 0 Warnings: 0四、结论针对MySQL数据库,上千万条数据的大量导入,使用LOAD DATA方式导入,一般生产环境耗时1分钟左右。

1.3K50

MySQL快速导入千万条数据(2)

一、导入前1000万条数据清库、建库、新建表结构、导入前1000万条数据,结果:■ 1000万行,有2索引导入耗时:16分钟Query OK, 9999966 rows affected, 5920 warnings...(16 min 12.95 sec)Records: 9999966 Deleted: 0 Skipped: 0 Warnings: 5920可见,导入千万条数据,性能下降明显。...二、导入前2000万条数据清库、建库、新建表结构、导入前2000万条数据,结果:■ 2000万行,无 索引导入耗时:45分钟Query OK, 19999966 rows affected, 5920...三、导入后面的1000万条数据由于一次导入千万条数据性能较低,因此决定把后面的1000万行,拆分为两部分,分两次导入,如下操作:split -l 6000000 mysql_ab mysql_ab_得到两个文件...Skipped: 0 Warnings: 0插入mysql_ab_ab:耗时8分钟LOAD DATA LOCAL INFILE '/root/mysql_ab_ab'INTO TABLE tablenameFIELDS

1.6K20

MySQL快速导入千万条数据(1)

对于传统的关系数据库如oracle,在大量数据导入方面的效率,我们一般有一个大概的认知,即1分钟以内可以导入千万条数据,而对于MySQL数据库,普遍观点以为性能相对较差,尤其时对于千万级别的数据量,几十分钟...事实上我们的各个新建项目由于采用了MySQL数据库,在备份恢复时,便会面临大量数据的逻辑导出与导入需求。.../dumpin.sh mysql2.sql > $logfile 2>&1 &测试结果如下:去索引,1000条批量提交,50万行耗时9分钟Start ...(20220224-21:49:58)Completed...首先,修改原SQL文件格式LOADDATA可用的csv文本格式,此处先用前500万行测试:head -5000000 mysql.sql > mysql2.sqlsed -i "s/INSERT INTO...好,现在你还会说,MySQL数据库大批量数据导入性能较差吗?下一步继续测试这3000万条数据全部导入的情况。

2.4K40

2020-12-29:mysql中,innodb表里,某一条数据删除条数据

2020-12-29:mysql中,innodb表里,某一条数据删除了之后,这条数据会被真实的擦掉吗,还是删除了关系?...福哥答案2020-12-29: 答案来自此链接,答案相当详细: 面试的时候受 《MySQL技术内幕 InnoDB存储引擎 第2版.pdf》这本书的第188页的影响,回答错了。...删除一条记录,数据原有的被废弃,记录头发生变化,主要是打上了删除标记。也就是原有的数据 deleted_flag 变成 1,代表数据被删除。...但是数据没有被清空,在新一行数据大小小于这一行的时候,可能会占用这一行。...这样其实就是存储碎片,要想减少存储碎片,可以通过重建表来实现(例如对于高并发大数据量表,除了归档,还可以通过利用无锁算法Alter修改字段来重建表增加表性能)。 *** 评论

94510

MySQL 数据库插入 100w 条数据要花多久?

答:在数据里做插入操作的时候,整体时间的分配是这样的: 1、多链接耗时 (30%) 2、多发送query到服务器 (20%) 3、多解析query (20%) 4、多插入操作 (10% * 词条数目...MySQL插入数据在写阶段是独占的,但是插入一条数据仍然需要解析、计算、最后才进行写处理,比如要给一条记录分配自增id,校验主键唯一键属性,或者其他一些逻辑处理,都是需要计算的,所以说多线程能够提高效率...SQL解析,能够插入多条数据。...1、将表的存储引擎修改为myisam 2、将 sql 拼接成字符串, 1000 条左右提交事务。 执行多条SQL语句,实现数据库事务。...mysql数据库 多条SQL语句 public void ExecuteSqlTran(List SQLStringList) { using (MySqlConnection

1.5K20

spark使用zipWithIndex和zipWithUniqueIdrdd中每条数据添加索引数据

spark的rdd中数据需要添加自增主键,然后将数据存入数据库,使用map来添加有的情况是可以的,有的情况是不可以的,所以需要使用以下两种中的其中一种来进行添加。...[34] at makeRDD at :21 scala> rdd2.zipWithIndex().collect res27: Array[(String, Long)] = Array((A,0)...at :21 //rdd1有两个分区, scala> rdd1.zipWithUniqueId().collect res32: Array[(String, Long)] = Array((A,0)..., (B,2), (C,4), (D,1), (E,3), (F,5)) //总分区数2 //第一个分区第一个元素ID0,第二个分区第一个元素ID1 //第一个分区第二个元素ID0+2=2,第一个分区第三个元素...ID2+2=4 //第二个分区第二个元素ID1+2=3,第二个分区第三个元素ID3+2=5

4.5K91

1亿条数据批量插入 MySQL,哪种方式最快?

for(int i=0;i<5000000;i++)         {             //person赋值             person.setId(i);             ...看下面的实验结果: //该代码开启事务  private long begin = 33112001;//起始id     private long end = begin+100000;//每次循环插入的数据量...实验结论如下: 在未开启事务的情况下,平均 21.2 秒插入 一万 数据。...实验结果: 使用JDBC批处理,未开启事务下,平均 2.1 秒插入 十万 条数据 接着测试 开启事务,每次循环插入10W条数据,循环10次,一共100W条数据。...实验结果: 使用JDBC批处理,开启事务,平均 1.9 秒插入 十万 条数据 基于微服务的思想,构建在 B2C 电商场景下的项目实战。

3.6K30

Web程序员的Mysql进阶序二之sql多条数据插入、多条数据更新、多表同时查询

数据库在web开发的时候,减少连接次数可以降低数据库负载,所以一次连接,多数据操作可以有效的优化数据库。...name varchar(10), sex varchar(10) ); create table test1( name varchar(10), sex varchar(10) ); 多条数据同时插入...'),('xiao2','nan2'); 或者: insert into test values('xiao','nan'),('xiao1','nan1'),('xiao2','nan2'); 多条数据更新...和test1表更新nv1有所区别,其中条件同名。...假设这张表其中是一个员工档案表,另外一个是员工体测表,假设存在这两张表,我们进行一个多表查询,设置where条件id相同,那么我们在一次查询中则可把数据进行一个清晰的统计,可以看到员工名并且可以看到对应体测的成绩是否合格

1.5K10

你向 Mysql 数据库插入 100w 条数据用了多久?

答:在数据里做插入操作的时候,整体时间的分配是这样的: 1、多链接耗时 (30%) 2、多发送query到服务器 (20%) 3、多解析query (20%) 4、多插入操作 (10% * 词条数目...MySQL插入数据在写阶段是独占的,但是插入一条数据仍然需要解析、计算、最后才进行写处理,比如要给一条记录分配自增id,校验主键唯一键属性,或者其他一些逻辑处理,都是需要计算的,所以说多线程能够提高效率...SQL解析,能够插入多条数据。...1、将表的存储引擎修改为myisam 2、将 sql 拼接成字符串, 1000 条左右提交事务。 执行多条SQL语句,实现数据库事务。...mysql数据库 多条SQL语句 public void ExecuteSqlTran(List SQLStringList) { using (MySqlConnection

1.3K20

如何用Mysql的储存过程,新增100W条数据

,新增100W条数据 --创建表 CREATE TABLE `user`(`user_id` INT UNSIGNED AUTO_INCREMENT,`user_name` VARCHAR(40) NOT...CALL insert_user(10000,1000000); 用 date_start 变量来定义初始的注册时间,时间 2021 年 1 月 16 日 000 秒,然后用 date_temp...变量计算每个用户的注册时间,新的注册用户与上一个用户注册的时间间隔 60 秒内的随机值。...然后使用 REPEAT … UNTIL … END REPEAT 循环,对 max_num 个用户的数据进行计算; 在循环前,将 autocommit 设置 0,这样等计算完成再统一插入,执行效率更高...SQL 采用(;)作为结束符,这样当存储过程中的一句 SQL 结束之后,采用(;)作为结束符,就相当于告诉 SQL 可以执行这一句了; 但是存储过程是一个整体,我们不希望 SQL 逐条执行,而是采用存储过程整段执行的方式

1.5K50

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券