1
我有以下表格:在MySQL操作者需要長時間來執行
Table 1 : Contacts
Fields : id first_name
Values :
1 Reeta
2 Rohan
3 John
Table 2 : email (it contains contact_id of contacts table)
Fields : id contact_id email_address
Values :
1 1 [email protected]
2 2 [email protected]
3 3 [email protected]
I want to display all duplicates by email. Like this:
cont_id first_name email_address
1 Reeta [email protected]
2 Rohan [email protected]
這裏是我的查詢:
select contact_id
from contacts
where email_address IN (
SELECT S.email_address
FROM contacts R
INNER JOIN email
ON R.id = S.contact_id
Group By email_address
Having Count(S.id) > 1
);
查詢需要很長的時間與大量的記錄來執行。然而,內部查詢的工作更快,但不是外部查詢。請幫忙。
可能它不是IN,但是嵌套查詢是問題,請嘗試使用連接查詢 –
您調用的每一行嵌套查詢連接 –
您需要消除子查詢,它將針對外部查詢的每個迭代運行。在這個查詢中加入'EXPLAIN',以獲得有關mysql如何執行的詳細信息。 –