2

我必须根据 id 值删除很多数据。哪个最快:

DELETE FROM myTable WHERE id = '10' OR id = '20' OR id = '43' OR id = '54' .......

或者

DELETE FROM myTable WHERE id = '10'; DELETE FROM myTable WHERE id = '20'; ........

如果您有其他解决方案,请随时告诉我。

(这里的 id 不是主键或索引,是外键,因为它引用了一个单词,我可以在这个数据库中为一个单词输入多个条目)

我使用 MySQL,但我希望我的查询可以应用于其他 RDBMS

4

2 回答 2

5

第一个更快,但我想使用IN像这样的运算符更多readability虽然具有相同的性能

DELETE FROM myTable WHERE id in ('10','20','30',...)
于 2013-04-07T09:58:28.480 回答
0

一个应该更快

就查询优化器的输出而言,拥有一条语句比拥有一组语句要好。

于 2013-04-07T10:03:14.380 回答