MySQL:更快地检查/插入重复行,或插入并忽略失败?

时间:2011-03-06 12:00:21

标签: mysql

MySQL(MyISAM)

通常会尝试添加重复行(由于唯一索引而不允许这样做)。

哪个更快?

1)检查行是否存在。如果没有,那么插入。

2)无论如何插入行。如果已经存在则忽略失败。

2 个答案:

答案 0 :(得分:1)

我不是MySQL专家,但选项1需要两个步骤/周期。方案2只迈出了一步。选项1有两个返回值(1表示数据是否存在,2通常是插入的id),选项2只返回1个值。

我一直做选项2。

答案 1 :(得分:1)

如果您使用MyISAM,1)实际上不是一个选项,因为您需要使用MyISAM不支持的交易。