MySQL 是一个关系型数据库管理系统,广泛应用于各种规模的应用程序中。当需要将大量数据导入 MySQL 数据库时,通常会遇到性能和效率的问题。大批量导入数据是指一次性导入大量数据到数据库中,而不是逐条插入。
LOAD DATA INFILE
:这是 MySQL 提供的一个高效的文件导入命令,可以直接从文件中导入数据到表中。INSERT INTO ... VALUES (...), (...), ...
:通过在 SQL 语句中列出多条记录来批量插入数据。原因:
解决方法:
autocommit=0
和手动提交事务来减少事务开销。autocommit=0
和手动提交事务来减少事务开销。以下是一个使用 LOAD DATA INFILE
命令批量导入数据的示例:
-- 假设有一个名为 data.txt 的文件,内容如下:
-- id,name,age
-- 1,Alice,30
-- 2,Bob,25
-- 创建目标表
CREATE TABLE users (
id INT PRIMARY KEY,
name VARCHAR(50),
age INT
);
-- 使用 LOAD DATA INFILE 导入数据
LOAD DATA INFILE '/path/to/data.txt'
INTO TABLE users
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
IGNORE 1 ROWS;
通过以上方法,可以有效地解决 MySQL 大批量导入数据时遇到的问题。
领取专属 10元无门槛券
手把手带您无忧上云