C# - 加快MySql查询速度?

时间:2016-01-19 12:17:57

标签: c# mysql sql performance insert

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

1 个答案:

答案 0 :(得分:1)

您不仅要进行插入,还要使用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);

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