【发布时间】:2019-06-19 13:37:39
【问题描述】:
所以我试图从一个相当大的 mysql(innodb) 表中删除一些行。
我尝试使用的查询如下:
delete from item where id in (select id from items_to_be_deleted);
item 是一个 70'000'000 行的表,items_to_be_deleted 是一个 1'000'000 行的表。
我的查询似乎永远不会完成,即使我添加了一个非常小的限制。 (delete from item where id in (select id from items_to_be_deleted) LIMIT 10;
如果我运行select id from items_to_be_deleted,它几乎会立即返回,它只是一个带有主键 (id) 和另一个 varchar 字段的表。
我的查询有什么问题需要这么长时间/似乎永远不会完成?
【问题讨论】:
-
检查 oysteing.blogspot.com/2014/07/… ,然后尝试 DELETE item FROM item WHERE ...