繁体   English   中英

C#-使更快的MySql查询?

[英]C# - Make faster MySql queries?

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

您不仅要进行插入,而且还要使用on duplicate key update

我建议您采用批量加载方法:

  • 将18-25,000的内容放入文件中,并适当定界。
  • 使用将数据加载到文件将文件中的数据load data infile到登台表中。
  • 使用insert . . . on duplicate key update insert . . . on duplicate key update insert . . . on duplicate key update登台表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);

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM