mysql高效导数据方法

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

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

机器:linux 64bit 8G内存 4核[email protected] 

基本思路: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




你可能感兴趣的:(mysql,导数据,高效)