我必须根据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
答案 0 :(得分:5)
第一个更快但我想使用这样的IN
运算符来获得更多readability
但性能相同
DELETE FROM myTable WHERE id in ('10','20','30',...)
答案 1 :(得分:0)
首先应该更快,
根据查询优化工具输出,使用一个语句比使用一组语句更好。