首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Mysql >

mysql高速导入数据

2013-03-01 
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的.

热点排行