mysql高效导数据的方法讲解

415 查看

数据:一个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关键字。