查询获取结果

时间:2013-12-13 11:51:09

标签: drupal

在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

1 个答案:

答案 0 :(得分:0)

因为我们不知道自定义表的确切模式,所以我们无法为您提供精确的解决方案,但通常在查询执行速度较慢时,您需要验证用于{{1}的列。并且在JOINS clausule内。

  • 确保您正在加入外键列
  • 确保在条件
  • 中使用的列上设置索引

在您的情况下,我会在以下列中添加索引:WHEREuac_institutiondata_institution表),uac_institutiondataintyear12),uac_export_coursetable_latest({{ 1}}表)

如果nid表中的uac_inst_campus_latest列不是主键,也是此列上的索引。

有关MySql数据库上的索引的更多信息:http://dev.mysql.com/doc/refman/5.0/en/create-index.html