Details
-
Bug
-
Resolution: Fixed
-
Major
-
2.2.3, 2.3.6, 2.4.3, 2.5
-
MOODLE_22_STABLE, MOODLE_23_STABLE, MOODLE_24_STABLE, MOODLE_25_STABLE
-
MOODLE_23_STABLE, MOODLE_24_STABLE
-
MDL-34933_master -
-
Description
Suggesting adding an index to the message_working.unreadmessageid field. When the tables start to grow, this query can take some time without the index. For example, for one site, it takes 1,891 ms to run the query.
Here is the query:
SELECT m.id, m.smallmessage, m.fullmessageformat, m.notification, u.firstname, u.lastname |
FROM mdl_message m |
JOIN mdl_message_working mw ON m.id=mw.unreadmessageid |
JOIN mdl_message_processors p ON mw.processorid=p.id |
JOIN mdl_user u ON m.useridfrom=u.id |
WHERE m.useridto = '?' AND p.name='?' |
Here is the trace:
...uery called at lib/dml/mysqli_native_moodle_database.php (808)
|
...le_database::get_records_sql called at lib/moodlelib.php (9911)
|
in message_popup_window called at lib/pagelib.php (1230)
|
in moodle_page::starting_output called at lib/pagelib.php (720)
|
...moodle_page::set_state called at lib/outputrenderers.php (632)
|
in core_renderer::header called at mod/forum/view.php (113)
|