mysql快速导入数据mysql一般导入导出数据有两种方式,1是导出insert语句,然后插入,2是导出outfile,然后load
mysql快速导入数据
mysql一般导入导出数据有两种方式,1是导出insert语句,然后插入,2是导出outfile,然后load data infile
实验用的的表如下
load data INFILE 'F:\\temp\\20130208load.txt'INTO table 20130208load_infileFIELDS TERMINATED BY ','LINES TERMINATED BY '\n'
9s
试下没有索引时候,用同样的load语句,花了5.2s多.
另外看了这篇文章
http://venublog.com/2007/11/07/load-data-infile-performance/
谈到了一些优化,在我的windows机器上,innodb_flush_method是无效的,
设置了innodb_doublewrite=0以后,变成了4.6s
这里有人谈到了,如果把load data infile的大文件拆分成若干个小文件,会不会提高性能.
从他的结果来看,貌似提高不明显.
http://www.mysqlperformanceblog.com/2008/07/03/how-to-load-large-files-safely-into-innodb-with-load-data-infile/
另外吐槽下Navicat里执行source命令居然报语法错误 Err 1064,还是在mysql自带的客户端执行能好使. 1 楼 JasonWilliams 2013-02-22 导出为outfile方式的代码有点小问题吧。。执行时会报错啊
应该是
SELECT * FROM 20130122handler INTO OUTFILE 'F:\\temp\\20130122handler.txt'
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n';
2 楼 kabike 前天 JasonWilliams 写道导出为outfile方式的代码有点小问题吧。。执行时会报错啊
应该是
SELECT * FROM 20130122handler INTO OUTFILE 'F:\\temp\\20130122handler.txt'
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n';
哦?我这边没问题啊.我mysql是5.1的.