我想加快数据加载速度。
我使用MySQL 5.5,InnoDB并拥有1M行数据(65Mb文件)。这需要5分钟。
哪些mysql设置和命令会影响InnoDB的LOAD DATA INFILE的速度?
谢谢。
答案 0 :(得分:19)
我可以推荐这些设置来改善加载时间:
除了设置,您可以自己做一些事情:
答案 1 :(得分:4)
尝试删除索引和触发器。您可以在加载后重新创建它们。还要考虑使用my-huge.cnf中的一些高负载设置而不是默认设置。
更多innodb性能设置:
http://www.mysqlperformanceblog.com/2007/11/01/innodb-performance-optimization-basics/
答案 2 :(得分:2)
这可能不是你想要的,但这是我过去使用过的技巧
ALTER TABLE TABLE_NAME DISABLE KEYS;
LOAD DATA INFILE ... ;
ALTER TABLE TABLE_NAME ENABLE KEYS;
希望它有所帮助。
答案 3 :(得分:0)
另外,如果可能,请确保禁用二进制日志记录。
答案 4 :(得分:0)
如果您因为要更换实时表格的内容而匆忙,那么就这样做:
CREATE TABLE new LIKE live;
LOAD DATA ... INTO new;
RENAME TABLE live TO old, new TO live;
DROP TABLE old;
RENAME
是'瞬间'和原子,所以你永远不会'无论桌子大小,都可以。
(因此,您不必担心加速LOAD
。)
答案 5 :(得分:0)