在MySQL中“插入忽略”和替换之间的性能差异是什么?

时间:2011-01-18 10:45:26

标签: mysql

我想知道MySQL中insert ignorereplace订单的性能是否存在差异。

我正在使用MySQL 5.0.31。我的所有表都在InnoDB中。

2 个答案:

答案 0 :(得分:31)

插入忽略 - 如果键/行存在,则跳过插入

replace - 如果key / row存在,删除匹配行,然后重新插入

所以,replace应该更慢 但是insert ignore没有进行更新

详细信息:http://dev.mysql.com/doc/refman/5.5/en/replace.html

  

REPLACE的工作方式与INSERT完全相同,只是如果表中的旧行与PRIMARY KEY或UNIQUE索引的新行具有相同的值,则在插入新行之前删除旧行

答案 1 :(得分:0)

只是一般性评论。插入意味着之前的内容仍然存在。替换意味着已经存在的东西已经被删除,并且插入项目被安装在其位置。替换操作必须固有地针对已经存在的项目,将其删除并安装新项目。