C# - 进行更快的 MySql 查询
本文关键字:MySql 查询 | 更新日期: 2023-09-27 18:31:08
将
大量数据插入MySQL数据库的最佳方法是什么?
您不仅在进行插入,而且还在使用on duplicate key update
.
我建议您采用批量加载方法:
- 将 18-25,000 个东西放入一个文件中,适当分隔。
- 使用
load data infile
将文件中的数据加载到临时表中。 - 使用临时表上的
insert . . . on duplicate key update
。
最后一步类似于您的查询:
INSERT INTO players (name, online, world, level, vocation, month, week, today)
SELECT name, online, world, level, vocation, time, time, time
FROM players_staging
ON DUPLICATE KEY UPDATE
online = values(online), world = values(world), level = values(level),
vocation = values(vocation), month = month + values(time),
week = week + values(time), today = today + values(time);
批量操作速度更快有两个原因。 首先,它们需要较少的数据库调用 - 设置查询,返回结果和其他来回开销。 其次,它们减少了操作所需的日志记录和锁定量。