我有三个表,首先是联系人,其中包含所有姓名,电子邮件等的联系人。
第二个是 cross_contactList_contact ,它仅用作帮助表将每个联系人连接到多个联系人列表。
第三个包含联系人列表的名称和设置,并且未在此查询中使用。
在从其自己的表中删除联系人列表之后以及在删除包含该已删除列表ID的交叉表中的所有行之后,将启动此查询。这个查询就像“清理”一样,它会检查是否有任何联系人,而不是任何其他联系人列表。
问题是,我的数据库需要使用1密耳。 - 2. mil。行,但为了测试目的,我在5个不同的联系人列表中使用“仅”大约70 000个联系人(在cross_contactList_contact中大约有80 000条记录,很少有联系人在多个列表中,其中一个列表有大约60 000条记录,其他<3 000)但是查询总共运行了大约18-20分钟!
DELETE contact FROM contact
LEFT JOIN cross_contactList_contact ON contact.id = cross_contactList_contact.contact_id
WHERE cross_contactList_contact.contactList_id IS NULL
答案 0 :(得分:0)
重新生成索引后,一切都还好,所以根本没有问题。感谢。