Actions
Task #101707
closedAdd index for column "channel" in table sys_log
Status:
Closed
Priority:
Should have
Assignee:
-
Category:
Logging
Target version:
-
Start date:
2023-08-17
Due date:
% Done:
100%
Estimated time:
TYPO3 Version:
12
PHP Version:
Tags:
Complexity:
no-brainer
Sprint Focus:
Description
This is a pretty time-consuming query when there are a lot of rows in sys_log - and no index present.
SELECT DISTINCT `channel` FROM `sys_log` ORDER BY `channel` ASC
EXPLAIN SELECT DISTINCT `channel` FROM `sys_log` ORDER BY `channel` ASC;
sys_log---
id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra |
---: | --- | --- | --- | --- | --- | --- | --- | --- | ---: | ---: | --- |
1 | SIMPLE | sys_log | \N | ALL | \N | \N | \N | \N | 15126595 | 100.00 | Using temporary; Using filesort |
Same applies to this query:
SELECT DISTINCT `level` FROM `sys_log`;
I am not reviewing the PHP code here.
Just adding the proper index for each query already helps to reduce query execution-time from up to 200seconds down to some milliseconds.
Actions