MDL-83991 tag: Optimized tag sql query

This commit is contained in:
Rohit Panchal
2025-07-23 01:00:33 +05:30
parent c97987e9ed
commit 63cc9efdbc
+7 -8
View File
@@ -1763,16 +1763,15 @@ class core_tag_tag {
list($contextsql, $contextsqlparams) = $DB->get_in_or_equal($contextids);
$params = array_merge($params, $contextsqlparams);
$subsql = "SELECT DISTINCT t.id
FROM {tag} t
JOIN {tag_instance} ti ON t.id = ti.tagid
WHERE component = ?
AND itemtype = ?
AND contextid {$contextsql}";
$subsql = "SELECT DISTINCT ti.tagid
FROM {tag_instance} ti
WHERE ti.component = ?
AND ti.itemtype = ?
AND ti.contextid {$contextsql}";
$sql = "SELECT tt.*
FROM ($subsql) tv
JOIN {tag} tt ON tt.id = tv.id";
FROM ($subsql) tv
JOIN {tag} tt ON tt.id = tv.tagid";
return array_map(function($record) {
return new core_tag_tag($record);