From 26a06fa7b63f7732302e4cbcd324c33a1f5abeac Mon Sep 17 00:00:00 2001 From: Michael Aherne <michael.aherne@strath.ac.uk> Date: Tue, 3 Jul 2012 12:05:05 +0100 Subject: [PATCH] MDL-34156 Remove subselect from slow query --- enrol/meta/locallib.php | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/enrol/meta/locallib.php b/enrol/meta/locallib.php index 454c974d1ad..fa3125cb20e 100644 --- a/enrol/meta/locallib.php +++ b/enrol/meta/locallib.php @@ -477,11 +477,10 @@ function enrol_meta_sync($courseid = NULL, $verbose = false) { $sql = "SELECT ue.* FROM {user_enrolments} ue JOIN {enrol} e ON (e.id = ue.enrolid AND e.enrol = 'meta' $onecourse) - LEFT JOIN (SELECT xpue.userid, xpe.courseid - FROM {user_enrolments} xpue + LEFT JOIN ({user_enrolments} xpue JOIN {enrol} xpe ON (xpe.id = xpue.enrolid AND xpe.enrol <> 'meta' AND xpe.enrol $enabled) - ) pue ON (pue.courseid = e.customint1 AND pue.userid = ue.userid) - WHERE pue.userid IS NULL"; + ) ON (xpe.courseid = e.customint1 AND xpue.userid = ue.userid) + WHERE xpue.userid IS NULL"; $rs = $DB->get_recordset_sql($sql, $params); foreach($rs as $ue) { if (!isset($instances[$ue->enrolid])) {