1.使用批量插入:可以在一个事务中插入大量数据,而不是单独执行每个插入语句。将多个值组合到单个语句中。例如:
INSERT INTO tableName (id, name) VALUES (1, 'Name1'), (2, 'Name2'), ... , (1000000, 'Name100000')
2.禁用索引和外键检查:禁用索引和外键约束可以加快插入速度。例如:
SET foreign_key_checks = 0; ALTER TABLE tableName DISABLE KEYS; INSERT INTO tableName (id, name) VALUES (1, 'Name1'), (2, 'Name2'), ... , (1000000, 'Name100000') ALTER TABLE tableName ENABLE KEYS; SET foreign_key_checks = 1;
3.使用LOAD DATA:LOAD DATA是一个快速的数据导入方法,可以使用LOAD DATA INFILE语句将CSV或文本文件的数据导入表中。例如:
LOAD DATA INFILE 'path/to/file.csv' INTO TABLE tableName FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n';
4.优化MySQL配置:通过调整MySQL配置参数,可以提高插入速度。例如,可以增加innodb_buffer_pool_size参数的值,以提高InnoDB表的插入性能。