2014-09-22 4 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. Это corrct ?. Когда я пытаюсь выполнить этот запрос, он все еще занимает больше времени.

вот объяснить запроса

EXPLAIN

+0

Пожалуйста опубликуем результаты EXPLAIN {ваш запрос} – Jaydee

+0

Используйте 'EXPLAIN SELECT ....' в вашем запросе, чтобы получить некоторую информацию для работы с. – DanFromGermany

+0

Убедитесь, что все поля Member_Id и Duchess_Id проиндексированы. – Jaydee

ответ

1

Используйте индексы элементов, на которых вы исполняющих присоединяется например Duchess_Id, member_id и т.д.

+0

Как использовать индексирование для этого запроса. – chaitanya

+0

ALTER TABLE ADD INDEX .. ссылка http://dev.mysql.com/doc/innodb/1.1/en/innodb-create-index-examples.html для глубокой информации – nirajkumar

Смежные вопросы