From a2137340ae82a281218dd8f5d246bf73cebdf8d3 Mon Sep 17 00:00:00 2001 From: Adrian Greeve Date: Fri, 11 May 2018 08:28:25 +0800 Subject: [PATCH] MDL-62384 mod_data: Update sql to improve performance. --- mod/data/classes/privacy/provider.php | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/mod/data/classes/privacy/provider.php b/mod/data/classes/privacy/provider.php index 7cc15aff536..c11294b055f 100644 --- a/mod/data/classes/privacy/provider.php +++ b/mod/data/classes/privacy/provider.php @@ -105,9 +105,10 @@ class provider implements INNER JOIN {modules} m ON m.id = cm.module AND m.name = :modname INNER JOIN {data} d ON d.id = cm.instance INNER JOIN {data_records} dr ON dr.dataid = d.id - LEFT JOIN {comments} com ON com.commentarea=:commentarea and com.itemid = dr.id - LEFT JOIN {rating} r ON r.contextid = c.id AND r.itemid = dr.id AND r.component = :moddata AND r.ratingarea = :ratingarea - WHERE dr.userid = :userid OR com.userid = :userid1 OR r.userid = :userid2"; + LEFT JOIN {comments} com ON com.commentarea=:commentarea and com.itemid = dr.id AND com.userid = :userid1 + LEFT JOIN {rating} r ON r.contextid = c.id AND r.itemid = dr.id AND r.component = :moddata + AND r.ratingarea = :ratingarea AND r.userid = :userid2 + WHERE dr.userid = :userid OR com.id IS NOT NULL OR r.id IS NOT NULL"; $params = [ 'modname' => 'data',