哪种技术更换记录更有效

时间:2014-10-24 23:24:34

标签: mysql

我有一个必须从远程源导入TONS数据的应用。每次通话500至1500个条目。

有时,一些数据将需要替换已存储在dB中的数据。如果我不得不猜测,我会说300或400个条目需要更换一次。

每个传入条目都有唯一的ID。因此,我试图弄清楚是否总是根据此ID发出删除命令或检查是否已有条目然后删除更有效。

我找到了this SO post,其中谈到了dB必须做的重要工作才能删除某些东西。但它正在讨论一个不同的问题,所以我不确定它是否适用于此。

2 个答案:

答案 0 :(得分:3)

  

每个传入条目都有唯一的ID。因此,我试图弄清楚是否总是根据此ID发出删除命令或检查是否已有条目然后删除更有效。

都不是。使用INSERT ... ON DUPLICATE KEY UPDATE ...

答案 1 :(得分:0)

由于您使用的是MySQL并且拥有唯一密钥,因此让MySQL完成工作。

你可以使用 INSERT INTO..... ON DUPLICATE KEY UPDATE......

MySQL将尝试在表中插入新记录,表中是否存在唯一值,然后MySQL将更新您在更新后设置的所有字段

您可以阅读有关INSERT INTO..... ON DUPLICATE KEY UPDATE......语法的更多信息 http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html