mysql高效导数据方法

模拟现网测试,需要搭建测试环境,导入上亿级的数据到数据库。对于到的问题做些简单记录。

数据:一个db,2000个表格,2000张表格数据,每条记录30个column,平均每张表格4.3w条记录,总共86388670条记录。

机器:linux 64bit 8G内存 4核IntelX3320@2.5GHz 

基本思路:mysql -utest -pxxxx -s -e "source xxxx.sql"

将load语句放在xxxx.sql中

load语法:

load data  [low_priority] [local] infile 'file_name.txt' [replace | ignore]

如果串行导入数据,会很慢,考虑并行,但可能有冲突,解决办法:

load之前清空表  truncate table xxxx 或 delete from table xxxx;

或使用replace或ignore关键字。


导数据时发现磁盘IO特别高,可能是有别的用户在操作mysql。

mysql交互:

show processlist; 找出繁忙的影响io的query id,kill只

参考:

http://hunan.iteye.com/blog/752606

http://samyubw.blog.51cto.com/978243/323899




转载于:https://my.oschina.net/sanpeterguo/blog/164625

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值