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