C# - 进行更快的 MySql 查询

本文关键字:MySql 查询 | 更新日期: 2023-09-27 18:31:08

大量数据插入MySQL数据库的最佳方法是什么?

C# - 进行更快的 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);

批量操作速度更快有两个原因。 首先,它们需要较少的数据库调用 - 设置查询,返回结果和其他来回开销。 其次,它们减少了操作所需的日志记录和锁定量。