我有一个约有3万行的表,而且我不得不从表中删除其中的一些行。问题是当我必须删除大约1000行时,单个删除要花很多时间。为了避免这种情况,我尝试实现批量删除。对于一个postgresql函数,我有一个带有多个检查的where条件。 例如:
DELETE FROM tbName WHERE id = id AND name = inputName AND key = inputKey;
现在我正在将单个id,inputName和inputKey传递给函数。 我可以通过任何方式批处理此删除操作,在此我可以传递条件列表并在单个调用中删除多行。
预先感谢
答案 0 :(得分:1)
您可以将三个值的多个组合传递给语句。
delete from the_table
where (id, name, "key") in ( (1,'name one','key one'),
(2,'name two', 'key two'),
(3,'name three', 'key three')
);