我在查詢中遇到性能問題。查詢時的性能問題
第一張表是一張客戶表,其中有數百萬條記錄。客戶表有一列電子郵件地址和一些其他有關客戶的信息。
第二個表是一個CommunicationInfo表,其中只包含電子郵件地址。
而我在這裏想要的是; CommunicationInfo表中的電子郵件地址在Customers表中重複多少次。什麼可能是最執行者的查詢。
我可以解釋這種情況的基本查詢是;
Select ci.Email, count(*) from Customer c left join
CommunicationInfo ci on c.Email1 = ci.Email or c.Email2 = ci.Email
Group by ci.Email
但肯定的是,它大約需要5,6分鐘的執行時間。
在此先感謝。
'CommunicationInfo'中有多少條記錄? – Quassnoi 2010-04-15 17:49:23
'Customer'和'CommunicationInfo'之間的關係是什麼?我在考慮每個'Customer'行有很多'CommunicationInfo'行,是這種情況嗎? – 2010-04-15 17:55:50
@KM:*第二個表是一個CommunicationInfo表,其中只包含電子郵件地址*。我相信這是一個查詢表,每個電子郵件只添加一次。 – Quassnoi 2010-04-15 17:57:54