Mysql 千万数据快速导入

最近碰到个项目,需要 千万条数据入库的问题,有原本的 类 csv 文件导入,

统计了下  数据行大概有 1400W 行之多

 

二话不说, 建表,直接 load

 

LOAD DATA LOCAL INFILE '/data/data.csv' INTO TABLE pk_book_price CHARACTER SET utf8  FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' (`no`,`name`,`price`,`ranking`);

照理说 这种方式 应该是非常快的, 可导入完成还是活生生地耗费了接近3个多小时。

后来经过搜集各方资料查证,终于找到还算靠谱的解决方案:

1、建表,但除去所有索引。

2、 依然 load data local infile 方式导入。

3、 数据导入完成后 再进行索引。

 

依照此过程下来,数据导入 花费差不多 5分钟左右,  索引重建在半小时左右,整个40分钟内完成。还算能接受了。

因此表只需满足 按照no查询即可,没有涉及 其他复杂sql,也无数据增量,只有简单key-value查询。所以没有作水平,垂直,分库 等操作,只建索引已经达到性能要求。

其他,不再多述。

有更好方法,请分享之。

 

posted @ 2016-07-25 23:35  share112  阅读(768)  评论(0编辑  收藏  举报