我有一个包含1200万行的表,我应该经常执行以下任务:
问题是什么是执行步骤2-3的最佳方式。我使用PHP和Doctrine,所以并不是所有复杂的查询都可以使用。例如,我不能使用批量插入,因此需要连续运行最多50次INSERT。我认为有两种可能的方法:
发布于 2014-10-22 14:48:51
我认为您想要的只是简单地使用INSERT IGNORE
。忘记步骤1和步骤2,只需插入并忽略:)
如果使用“忽略”关键字,则将忽略执行INSERT语句时发生的错误。例如,在不忽略的情况下,重复表中现有的唯一索引或主键值的行将导致重复键错误并中止该语句。使用“忽略”时,行将被丢弃,不会发生错误。被忽略的错误可能反而会产生警告,尽管重复键错误不会.
https://dba.stackexchange.com/questions/80845
复制相似问题