MySQL(MyISAM)
通常会尝试添加重复行(由于唯一索引而不允许这样做)。
哪个更快?
1)检查行是否存在。如果没有,那么插入。
或
2)无论如何插入行。如果已经存在则忽略失败。
答案 0 :(得分:1)
我不是MySQL专家,但选项1需要两个步骤/周期。方案2只迈出了一步。选项1有两个返回值(1表示数据是否存在,2通常是插入的id),选项2只返回1个值。
我一直做选项2。
答案 1 :(得分:1)
如果您使用MyISAM,1)实际上不是一个选项,因为您需要使用MyISAM不支持的交易。