I'm in the process of catching a spurious slow query coming from the quiz corner. During that exercise came across these slow queries - if anybody is looking for a challenge (the same is attached as a file):
# Thread_id: 262574 Schema: xxxmoodle
QC_hit: No
#
Query_time: 15.934880 Lock_time: 0.000214 Rows_sent: 1 Rows_examined:
5467487
# Rows_affected: 0 Bytes_sent:
68
SET timestamp=1765288201;
SELECT
COUNT(1)
FROM (SELECT
GROUP_CONCAT(CONCAT(COALESCE(rbalias1.contextid, '<^>'), '<|>',
COALESCE(rbalias2.id, '<^>'), '<|>', COALESCE(rbalias2.path,
'<^>'), '<|>', COALESCE(rbalias2.depth, '<^>'),
'<|>', COALESCE(rbalias2.contextlevel, '<^>'), '<|>',
COALESCE(rbalias2.instanceid, '<^>'), '<|>',
COALESCE(rbalias2.locked, '<^>')) ORDER BY
CONCAT(COALESCE(rbalias1.contextid, '<^>'), '<|>',
COALESCE(rbalias2.id, '<^>'), '<|>', COALESCE(rbalias2.path,
'<^>'), '<|>', COALESCE(rbalias2.depth, '<^>'),
'<|>', COALESCE(rbalias2.contextlevel, '<^>'), '<|>',
COALESCE(rbalias2.instanceid, '<^>'), '<|>',
COALESCE(rbalias2.locked, '<^>')) SEPARATOR '<,>') AS
c0_contextid, rbalias4.firstname AS c1_firstname, rbalias4.lastname AS
c1_lastname, rbalias1.filename AS c2_filename, rbalias1.mimetype AS
c3_mimetype, CASE WHEN rbalias1.filename = '.' THEN 1 ELSE 0 END AS
c3_directory, rbalias1.filesize AS c4_filesize, CASE WHEN rbalias1.filename
= '.' THEN 1 ELSE 0 END AS c4_directory, rbalias1.timecreated AS
c5_timecreated, rbalias1.contextid AS c6_contextid, rbalias2.id AS c6_ctxid,
rbalias2.path AS c6_ctxpath, rbalias2.depth AS c6_ctxdepth,
rbalias2.contextlevel AS c6_ctxlevel, rbalias2.instanceid AS c6_ctxinstance,
rbalias2.locked AS c6_ctxlocked, rbalias1.filename AS c7_filename,
rbalias1.filename AS c8_filename, GROUP_CONCAT(DISTINCT rbalias1.filearea
ORDER BY rbalias1.filearea SEPARATOR '<,>') AS c9_filearea,
rbalias1.mimetype AS c10_mimetype, CASE WHEN rbalias1.filename = '.' THEN 1
ELSE 0 END AS c10_directory
FROM
mdl_files rbalias1 LEFT JOIN mdl_context rbalias2 ON rbalias2.id =
rbalias1.contextid LEFT JOIN mdl_user rbalias4 ON rbalias4.id =
rbalias1.userid
WHERE (CASE WHEN
rbalias1.filename = '.' THEN 1 ELSE 0 END = '0') AND (
CAST((rbalias1.filesize) AS DECIMAL(65,7)) > 450)
GROUP BY c1_firstname, c1_lastname, c2_filename,
c3_mimetype, c3_directory, c4_filesize, c4_directory, c5_timecreated,
c6_contextid, c6_ctxid, c6_ctxpath, c6_ctxdepth, c6_ctxlevel,
c6_ctxinstance, c6_ctxlocked, c7_filename, c8_filename, c10_mimetype,
c10_directory
)
rbalias12;
# Thread_id: 262574 Schema:
xxxmoodle QC_hit: No
# Query_time: 25.699224 Lock_time:
0.000267 Rows_sent: 737373 Rows_examined: 6204860
#
Rows_affected: 0 Bytes_sent: 234602233
SET
timestamp=1765288217;
SELECT
GROUP_CONCAT(CONCAT(COALESCE(rbalias1.contextid, '<^>'), '<|>',
COALESCE(rbalias2.id, '<^>'), '<|>', COALESCE(rbalias2.path,
'<^>'), '<|>', COALESCE(rbalias2.depth, '<^>'),
'<|>', COALESCE(rbalias2.contextlevel, '<^>'), '<|>',
COALESCE(rbalias2.instanceid, '<^>'), '<|>',
COALESCE(rbalias2.locked, '<^>')) ORDER BY
CONCAT(COALESCE(rbalias1.contextid, '<^>'), '<|>',
COALESCE(rbalias2.id, '<^>'), '<|>', COALESCE(rbalias2.path,
'<^>'), '<|>', COALESCE(rbalias2.depth, '<^>'),
'<|>', COALESCE(rbalias2.contextlevel, '<^>'), '<|>',
COALESCE(rbalias2.instanceid, '<^>'), '<|>',
COALESCE(rbalias2.locked, '<^>')) SEPARATOR '<,>') AS
c0_contextid, rbalias4.firstname AS c1_firstname, rbalias4.lastname AS
c1_lastname, rbalias1.filename AS c2_filename, rbalias1.mimetype AS
c3_mimetype, CASE WHEN rbalias1.filename = '.' THEN 1 ELSE 0 END AS
c3_directory, rbalias1.filesize AS c4_filesize, CASE WHEN rbalias1.filename
= '.' THEN 1 ELSE 0 END AS c4_directory, rbalias1.timecreated AS
c5_timecreated, rbalias1.contextid AS c6_contextid, rbalias2.id AS c6_ctxid,
rbalias2.path AS c6_ctxpath, rbalias2.depth AS c6_ctxdepth,
rbalias2.contextlevel AS c6_ctxlevel, rbalias2.instanceid AS c6_ctxinstance,
rbalias2.locked AS c6_ctxlocked, rbalias1.filename AS c7_filename,
rbalias1.filename AS c8_filename, GROUP_CONCAT(DISTINCT rbalias1.filearea
ORDER BY rbalias1.filearea SEPARATOR '<,>') AS c9_filearea,
rbalias1.mimetype AS c10_mimetype, CASE WHEN rbalias1.filename = '.' THEN 1
ELSE 0 END AS c10_directory FROM mdl_files rbalias1 LEFT JOIN mdl_context
rbalias2 ON rbalias2.id = rbalias1.contextid LEFT JOIN mdl_user rbalias4 ON
rbalias4.id = rbalias1.userid WHERE (CASE WHEN rbalias1.filename = '.' THEN
1 ELSE 0 END = '0') AND ( CAST((rbalias1.filesize) AS DECIMAL(65,7)) >
450) GROUP BY c1_firstname, c1_lastname, c2_filename, c3_mimetype,
c3_directory, c4_filesize, c4_directory, c5_timecreated, c6_contextid,
c6_ctxid, c6_ctxpath, c6_ctxdepth, c6_ctxlevel, c6_ctxinstance,
c6_ctxlocked, c7_filename, c8_filename, c10_mimetype, c10_directory ORDER BY
c4_filesize DESC, c0_contextid ASC, c9_filearea ASC;
# Thread_id: 313994 Schema: xxxmoodle QC_hit: No
#
Query_time: 19.593351 Lock_time: 0.000143 Rows_sent: 1 Rows_examined:
5407935
# Rows_affected: 0 Bytes_sent:
68
SET timestamp=1765303141;
SELECT
COUNT(1)
FROM (SELECT rbalias1.contextid AS
c0_contextid, rbalias2.id AS c0_ctxid, rbalias2.path AS c0_ctxpath,
rbalias2.depth AS c0_ctxdepth, rbalias2.contextlevel AS c0_ctxlevel,
rbalias2.instanceid AS c0_ctxinstance, rbalias2.locked AS c0_ctxlocked,
rbalias4.firstname AS c1_firstname, rbalias4.lastname AS c1_lastname,
rbalias1.filename AS c2_filename, rbalias1.mimetype AS c3_mimetype, CASE
WHEN rbalias1.filename = '.' THEN 1 ELSE 0 END AS c3_directory,
rbalias1.filesize AS c4_filesize, CASE WHEN rbalias1.filename = '.' THEN 1
ELSE 0 END AS c4_directory, rbalias1.timecreated AS c5_timecreated,
rbalias1.contextid AS c6_contextid, rbalias2.id AS c6_ctxid, rbalias2.path
AS c6_ctxpath, rbalias2.depth AS c6_ctxdepth, rbalias2.contextlevel AS
c6_ctxlevel, rbalias2.instanceid AS c6_ctxinstance, rbalias2.locked AS
c6_ctxlocked, rbalias1.filearea AS c7_filearea, rbalias1.filearea AS
c8_filearea
FROM mdl_files rbalias1
LEFT JOIN mdl_context rbalias2 ON rbalias2.id = rbalias1.contextid LEFT JOIN
mdl_user rbalias4 ON rbalias4.id = rbalias1.userid
WHERE (CASE WHEN rbalias1.filename = '.' THEN 1 ELSE 0 END =
'0')
GROUP BY c0_contextid,
c0_ctxid, c0_ctxpath, c0_ctxdepth, c0_ctxlevel, c0_ctxinstance,
c0_ctxlocked, c1_firstname, c1_lastname, c2_filename, c3_mimetype,
c3_directory, c4_filesize, c4_directory, c5_timecreated, c6_contextid,
c6_ctxid, c6_ctxpath, c6_ctxdepth, c6_ctxlevel, c6_ctxinstance,
c6_ctxlocked, c7_filearea, c8_filearea
)
rbalias12;
# Thread_id: 313994 Schema: xxxmoodle QC_hit: No
#
Query_time: 15.618496 Lock_time: 0.000193 Rows_sent: 835487
Rows_examined: 4572448
# Rows_affected: 0 Bytes_sent:
187009519
SET timestamp=1765303161;
SELECT
rbalias1.contextid AS c0_contextid, rbalias2.id AS c0_ctxid, rbalias2.path
AS c0_ctxpath, rbalias2.depth AS c0_ctxdepth, rbalias2.contextlevel AS
c0_ctxlevel, rbalias2.instanceid AS c0_ctxinstance, rbalias2.locked AS
c0_ctxlocked, rbalias4.firstname AS c1_firstname, rbalias4.lastname AS
c1_lastname, rbalias1.filename AS c2_filename, rbalias1.mimetype AS
c3_mimetype, CASE WHEN rbalias1.filename = '.' THEN 1 ELSE 0 END AS
c3_directory, rbalias1.filesize AS c4_filesize, CASE WHEN rbalias1.filename
= '.' THEN 1 ELSE 0 END AS c4_directory, rbalias1.timecreated AS
c5_timecreated, rbalias1.contextid AS c6_contextid, rbalias2.id AS c6_ctxid,
rbalias2.path AS c6_ctxpath, rbalias2.depth AS c6_ctxdepth,
rbalias2.contextlevel AS c6_ctxlevel, rbalias2.instanceid AS c6_ctxinstance,
rbalias2.locked AS c6_ctxlocked, rbalias1.filearea AS c7_filearea,
rbalias1.filearea AS c8_filearea FROM mdl_files rbalias1 LEFT JOIN
mdl_context rbalias2 ON rbalias2.id = rbalias1.contextid LEFT JOIN mdl_user
rbalias4 ON rbalias4.id = rbalias1.userid WHERE (CASE WHEN rbalias1.filename
= '.' THEN 1 ELSE 0 END = '0') GROUP BY c0_contextid, c0_ctxid, c0_ctxpath,
c0_ctxdepth, c0_ctxlevel, c0_ctxinstance, c0_ctxlocked, c1_firstname,
c1_lastname, c2_filename, c3_mimetype, c3_directory, c4_filesize,
c4_directory, c5_timecreated, c6_contextid, c6_ctxid, c6_ctxpath,
c6_ctxdepth, c6_ctxlevel, c6_ctxinstance, c6_ctxlocked, c7_filearea,
c8_filearea ORDER BY c4_filesize DESC;
Pl. note that the slow query limit is lowered to 1 sec. but for the whole working day these are the only slow queries.