我想知道MySQL中insert ignore
和replace
订单的性能是否存在差异。
我正在使用MySQL 5.0.31。我的所有表都在InnoDB中。
答案 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)
只是一般性评论。插入意味着之前的内容仍然存在。替换意味着已经存在的东西已经被删除,并且插入项目被安装在其位置。替换操作必须固有地针对已经存在的项目,将其删除并安装新项目。