[英]C# - Make faster MySql queries?
将大量数据插入mysql数据库的最佳方法是什么?
您不仅要进行插入,而且还要使用on duplicate key update
。
我建议您采用批量加载方法:
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.