2013-12-13 224 views
0

Drupal的網站,我們正在SQL查詢的數據導出非常慢(長期服用)問題如何解決問題查詢獲取結果

查詢如下

SELECT DISTINCT(a.*), c.nid, b.uac_inst_campus_cricos 
FROM uac_export_coursetable_latest AS a 
LEFT JOIN uac_institutiondata AS c 
    ON c.uac_institutiondata_institution = a.uac_course_institution 
LEFT JOIN uac_inst_campus_latest AS b 
    ON b.nid = c.nid AND b.uac_inst_furtherinfobox_heading = a.campusname 
WHERE a.uac_course_institution = '6628' 
AND intyear12 = 'Yes' 
ORDER BY uaccoursecode 

回答

0

因爲我們不知道我們不能給你一個確切的解決方案,但通常當查詢執行很慢時,你需要驗證JOINSWHERE條款中使用的列。

  • 一定要加入外鍵列
  • 確保索引上的條件

在您的情況中使用的列集,我將在下面的列添加索引:uac_institutiondata_institutionuac_institutiondata表),intyear12uac_export_coursetable_latestniduac_inst_campus_latest表)

如果的uac_course_institution柱表不是主鍵,也是此列上的索引。

有關索引在MySql數據庫上的更多信息:http://dev.mysql.com/doc/refman/5.0/en/create-index.html