[英]what is the fastest way to update thousands rows in mysql
我的问题是:最快的工作方式是什么?
我不知道......有没有人做过这样的事情? 什么是最佳做法? 我需要尽快运行它...
这里有一些方法可以加快你的UPDATES
。
UPDATE
,表记录只是用新数据重写。 所有这些必须在INSERT
再次完成。 这就是为什么你应该总是使用INSERT ... ON DUPLICATE KEY UPDATE
而不是REPLACE
。
前者是密钥违规时的UPDATE
操作,后者是DELETE / INSERT
这是一个示例INSERT INTO table (a,b,c) VALUES (1,2,3) ON DUPLICATE KEY UPDATE c=c+1;
更多关于这里 。
更新1:在单个查询中进行插入是一个好主意。 这应该加快你的UPDATES
。 请参阅此处了解如何执行此操作。
更新2:现在我有机会阅读您的其他子问题。 这就是我所知道的 -
UPDATE
。 SQL
查询更重要。 TABLE
和INDEXES
的大小,以及INNODB or MYISAM
。 slow_query_log
。 这会将所有慢速查询记录到单独的日志文件中。 把它关掉。 查询执行过程:服务器首先解析你的查询然后执行你需要分析
查询
然后服务器花费更少的时间来解析,然后他执行得更快,而不是以其他方式慢
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.