1.修改配置
#增加MySQL占用的内存和存储空间
innodb_buffer_pool_size = 8G
#增加key buffer size
key_buffer_size = 8589934592;
#增加最大连接数
max_connections=1000;
2.使用LOAD DATA INFILE命令
LOAD DATA INFILE '/path/to/csv/file' INTO TABLE tableName FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n';
3.使用BULK INSERT命令
BULK INSERT tableName FROM '/path/to/csv/file' WITH (FIELDTERMINATOR=',', ROWTERMINATOR='\n');
4.利用多个cpu处理器
LOAD DATA INFILE '/path/to/csv/file' INTO TABLE tableName FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' PARALLEL 4;
5.禁用索引和约束
在MySQL导入数据之前,禁用表中的所有约束和索引可以显著提高导入速度。在导入完成后,可以重新启用它们。
禁用主键
ALTER TABLE tableName DISABLE KEYS;
ALTER TABLE tableName ENABLE KEYS;
禁用外键约束:
SET FOREIGN_KEY_CHECKS = 0;
SET FOREIGN_KEY_CHECKS = 1;
ALTER TABLE tableName DISABLE TRIGGER ALL;
ALTER TABLE tableName ENABLE TRIGGER ALL;
934

被折叠的 条评论
为什么被折叠?



