MySql性能:INSERT ... ON DUPLICATE KEY UPDATE或UPDATE& ROW_COUNT

时间:2011-05-05 09:52:54

标签: mysql performance

我查询大多数时候都会更新现有记录。 但是,我需要检查这些记录是否存在,如果不存在,我应该创建它。

通常我会使用INSERT...ON DUPLICATE KEY UPDAT,但由于只需要插入一些查询,我正在考虑进行UPDATE,然后检查返回的ROW_COUNT()是否为零在这种情况下为INSERT

什么会给我最好的表现?

1 个答案:

答案 0 :(得分:1)

MySQL有一个REPLACE INTO语法,可能就是你想要的。如果这对您不起作用,使用UPDATE并检查ROW_COUNT()应该可以正常工作,您可能希望将整个事情包装在存储过程中,这样您就可以自己回到服务器。