2014-09-22 63 views
1

我有一個查詢大型查詢是需要更多的時間來執行。我可以如何減少查詢的執行時間使用Join.Here是myt查詢。如何優化與加入查詢

SELECT mdi.Member_Id, 
dp.Payment1_Date AS Duchess_Payment1_Date, 
dp.Payment1_Method AS Duchess_Payment1_Method, 
dp.Payment1_By AS Duchess_Payment1_By, 
dp.Payment1_Amount AS Duchess_Payment1_Amount, 
dp.Payment2_Date AS Duchess_Payment2_Date, 
dp.Payment2_Method AS Duchess_Payment2_Method, 
dp.Payment2_By AS Duchess_Payment2_By, 
dp.Payment2_Amount AS Duchess_Payment2_Amount, 
mha.First_Name AS Member_First_Name, 
mha.Middle_Name AS Member_Middle_Name, 
mha.Last_Name AS Member_Last_Name, 
mha.Address AS Member_Address, 
mha.City AS Member_City, 
mha.State AS Member_State, 
mha.Zip AS Member_Zip, 
mha.Nickname AS Member_Nickname, 
mha.Phone AS Member_Phone, 
mha.Mobile AS Member_Mobile, 
mha.Email AS Member_Email, 
mwa.First_Name AS Work_First_Name, 
mwa.Middle_Name AS Work_Middle_Name, 
mwa.Last_Name AS Work_Last_Name, 
mwa.Address AS Work_Adrress, 
mwa.City AS Work_City, 
mwa.State AS Work_State, 
mwa.Zip AS Work_Zip, 
mwa.Phone AS Work_Phone, 
(CASE WHEN mha.Preferred=0 THEN 'Work Address' WHEN mha.Preferred=1 THEN 'Home Address' END)AS Preferred, 
mmt.Admiral_Title, 
mmt.Spouse_Title, 
mmt.Couple_Title, 
mdi.Year AS Duchess_Year, 
mdi.College AS Duchess_College, 
mdi.Major AS Duchess_Major, 
mdi.Sorority AS Duchess_Sorority, 
mdi.Parent_Name AS Duchess_Parent_Name, 
mdi.Escort_Name AS Duchess_Escort_Name 
FROM duchess_payment dp 
JOIN member_duchess_info mdi ON mdi.Duchess_Id = dp.Duchess_Id 
JOIN member_home_address mha ON mha.Member_Id = mdi.Member_Id 
JOIN member_work_address mwa ON mwa.Member_Id = mdi.Member_Id 
JOIN member_mailing_title mmt ON mmt.Member_Id = mdi.Member_Id 
ORDER BY dp.Duchess_Id; 

這是Iam使用的方式。它是否正確? 當我嘗試執行該查詢時,它仍然需要更多時間。

這裏是查詢的在其上要執行加入如Duchess_Id的項目的解釋

EXPLAIN

+0

請發表EXPLAIN {查詢} – Jaydee 2014-09-22 11:13:21

+0

結果在查詢中使用'EXPLAIN SELECT ....'來獲取一些信息。 – DanFromGermany 2014-09-22 11:13:29

+0

確保所有Member_Id和Duchess_Id字段都被索引。 – Jaydee 2014-09-22 11:15:00

回答

1

使用索引,Member_Id等

+0

中找到解釋信息如何使用該查詢的索引。 – chaitanya 2014-09-22 11:37:48

+0

ALTER TABLE ADD INDEX ..有關詳細信息,請參閱http://dev.mysql.com/doc/innodb/1.1/en/innodb-create-index-examples.html – nirajkumar 2014-09-22 11:41:44