我不小心在一个表中创建了大量(500K+)不正确的记录。该表将 Face_ID 作为唯一键,将 Picture_ID 作为外键。我想删除与 Picture_ID 的相同值相关联的大量记录的所有记录。以下查询完美且非常快速地运行:
Select Picture_ID, COUNT(*) From faces Group BY Picture_ID Having COUNT(*) > 1000
我尝试了以下方法,但事件在执行 20 分钟后,查询仍在运行:
delete from faces where Picture_ID IN (Select Picture_ID From faces Group BY Picture_ID Having COUNT(*) > 1000)
即使我将数字(上例中为 1000)调整为仅找到 3 个 Picture_ID 值的值,每个值大约有 1000 条记录,查询仍然需要很长时间。(坦率地说,这让我害怕需要多长时间 - 让我想知道我的数据库完成后会剩下什么!)
在 Windows 10 上使用 HeidiSQL 和 MariaDB 进行编码的最有效方法是什么。