我的问题是:做这项工作的最快方法是什么?
我不知道......有没有人做过这样的事情?什么是最佳做法?我需要尽快运行它......
答案 0 :(得分:4)
您可以通过以下方式加快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;
的详细信息UPDATES
。
UPDATE1:最好在单个查询中完成所有插入操作。这应该加快你的UPDATE
。有关如何执行此操作,请参阅here。
UPDATE2:现在我有机会阅读您的其他子问题。这就是我所知道的 -
SQL
单一提交。TABLE
个查询更为重要。INDEXES
&的大小。您拥有的INNODB or MYISAM
加上slow_query_log
。答案 1 :(得分:0)
查询执行过程:服务器首先解析你的查询然后执行你需要分析
查询
然后服务器花费更少的时间来解析然后他执行得更快而不是以其他方式缓慢