现在发现导入200W条记录需要6分钟,并且,表有一个多重索引,涉及到的字段有四个左右
,没有关键字。有四个log需要导入同一张表(初始为空),每个log大概有70W条记录,第一个log不到两三秒就完了,越到后面越慢,整个就到了6分钟。已经加了ingore关键字现在想请教:
1、哪种类型的表导入数据最快,mysql有什么innodb,isam,memory等等类型
2、mysql如何配置才能让数据导入最快,主要是参数的设置
3、是否还有除了load data外,有其它的指令来导入更快。比如是否有先不建索引,最后导完后再建索引的。

解决方案 »

  1.   

    1.表类型导入最快应该是myisam
    2.最主要是你的数据都是按照一定的格式,例如:
    "123456789","杨明"
    再执行命令
    load data infile "C:/data.txt" into table tt fields terminated by ',' enclosed by '"' lines terminated by '\r\n'3.除了load data之外,还有一个mysqlimport.exe,可以导入数据,位置在bin目录下
    执行命令mysqlimport -p --fields-terminated-by="," test data.txt
    注:test 是数据库名,data.txt是数据文件,好像还要求test数据库中有一个表名叫data才行,
    具体的用法可以用mysqlimport --help来查一下.
      

  2.   

    您好,我们是“2006中国杰出数据库工程师评选”活动组委会。
    您的帖子已经被我们转载到本次评选官方网站的“专家在线答疑”区。
    http://www.bestdba.cn/match_discussion.aspx在那里,进入本次评选终选的30位数据库工程师将与您展开积极的互动。他们会为您的问题提供满意的答案,此外,您还可以在“专家在线答疑”区提出新的问题并参与讨论。您的帖子位于:
    http://www.bestdba.cn/match_discussion3.aspx?pointid=582&pointid2=1&pointid3=5&pcount=stc
    非常感谢您对本次活动的支持!
      

  3.   

    1、用MyISAM
    2、适当调整tmp_table_size:默认32MB,可以适当调整,如100MB
    3、去掉索引、主外键等
      

  4.   

    mysqlimport就是调用load data infile的,没有本质区别.