2013-12-13 228 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